An OutOfMemoryException is not necessarily a result of memory leakage. You may also need to allow JVM to allocate more memory while gc is finding the best time to release dangling objects. However, the barmak's JProfiler solution is a determind way to find memory consumption points.