First, just to clarify: creating an array of object references is not boxing. βBoxingβ is a term with a very specific meaning in .NET, and I think it's worth sticking to it.
Boxing does create rubbish - or rather, every time you are in the box, it creates a new object, which is likely to eventually become rubbish. (It should not become garbage - you may have a link to this object for the rest of the life of the application, this is quite rare).
However, you may have a boxing cache. Indeed, Java does for small numbers. If you write:
Integer x = 5;
Integer y = 5;
System.out.println(x == y);
which guarantees printing true.
, - . ( - GC .NET , ) , , .
.NET , Java, , , , ( Java).
, , .NET 2.0 , . , .