Basically, to show that an object is eligible for garbage collection, you have to prove that there are no references to the object from any live threads. Not always an easy task.
From the topic that Marc mentioned, you can see that a visual approach can be beneficial, especially for the relatively small examples. Compile and run the code. You also can override finalize() in classes whose objects become garbage collection candidates and get them to print something out when they have been collected. You can call System.gc() in your
test programs. But be aware that these techniques are not 100% reliable in finding garbage collectable objects.
The GC (and Thread) questions are good for testing your analytical capabilities.