Explanation: Reference: http://java.sun.com/docs/books/tutorial/java/data/garbagecollection.html According to sun the object will be eligible for garbage collection only when another objects reference is passed to it since the original value is dropped or when the object is set to null provided if all the reference of the object is dropped. In the above method the Bar object i.e b created in line 3 is returned to main method where its value is not reset using another object or it is not indirectly set to null thro another object so the object will be eligib le for garbage collection only after line 11, when main() completes. Incorrect Answers: 1: At line 8 a new Bar object is created but the object’s reference is not made equal to b object created at line 3 or b is not indirectly set to null value for being eligible for garbage collection. thus this is not true. 2: At line 10 another Bar object is created but the object’s reference is not made equal to b object created at line 3 or b is not indirectly set to null value for being eligible for garbage collection. thus this is not true. 3: After line 4 when doBar completes the method returns the value of object b created at line 3 to the main method thus b is not eligible for garbage collection.