The comments about garbage collection being optimized for short-lived objects are valid.
Additionally, be aware that there are aspects of HotSpot which could also affect garbage collection in this case.
Escape Analysis was added to the Oracle/OpenJDK JVM in Java 6, and is enabled by default in the HotSpot compiler of OpenJDK 7:
Escape analysis is a technique by which the Java Hotspot Server
Compiler can analyze the scope of a new object's uses and decide
whether to allocate it on the Java heap.
In theory this would allow the compiler to determine that the object is only accessible within the method, and so it could be allocated on the stack instead of the heap. As such it could be freed from memory at the end of each iteration without requiring garbage collection at all (similar to freeing memory in C/C++ explicitly after each iteration).
In practice, the documentation for escape analysis in OpenJDK 7 says that the JDK 7 compiler currently "does not replace a heap allocation with a stack allocation for non-globally escaping objects". So it would appear that stack allocation is an optimization that could be implemented (IMO), but does not appear to be implemented right now.
Another optimization would be for the compiler (or HotSpot) to detect that the object created in this example is never used and that its constructor does not modify state/cause side effects elsewhere in the application. In that case it could eliminate the statement from the compiled code entirely and so new Object() would never be executed.
In summary, HotSpot continues to get smarter and has some optimizations for cases like this already.
Right now (as others have mentioned) GC is unlikely to kick in right after each iteration, but it will likely free these objects quickly nonetheless (eden space/young generation etc.).
In future HotSpot might use stack allocation and so indeed free the memory after each iteration. Or the compiler or HotSpot might eliminate this particular statement entirely.