Хорошим инструментом для поиска утечек памяти является JConsole. Полная документация здесь
Вы также должны посмотреть код вашего приложения, какие объекты создаются и остаются там (например, синглтоны). Помните, что все ссылки, которые есть в синглтоне, никогда не будут освобождены сборщиком мусора.
Я бы также проверил, может ли какая-либо из используемых вами библиотек иметь проблему утечки памяти.