Ankur,
You should use a profiling tool to check for memory leaks. It will help you identify what objects are not being gc'd.
I've used the
Java Heap Analysis Tool (HAT). It's not fancy, but it's free and works.
Profilers are available for Eclipse and Netbeans.
There was
a thread on Slashdot recently about selecting a profiling tool.
Once you've identified the objects that are not being garbage collected, do a code review to trace the lifetime of those objects. Ensure that all references to the object are released when the object is no longer needed.