Вы должны сделать это так, как вы описали. MongoDB является нереляционной базой данных и не поддерживает объединения.
Это возможно с помощью инструмента ddms, который поставляется с Android (не версия Eclipse). Используя это, посмотрите на вкладку отслеживания распределения. Вы можете начать отслеживать распределение всех объектов вместе со следами стеков, где они были размещены. Однако этот инструмент может генерировать много информации, а конкретную информацию, которую вы хотите, не всегда легко разобрать или найти. Если у вас есть версия для Sun JVM, я бы порекомендовал использовать упомянутые инструменты Кая, они намного более развиты. Если вам нужно сделать это в Android, использование трекера распределения даст вам старт.
Why don't you profile the existing game code on the Sun JVM (assuming you're porting a Java game)? Then you can take advantage of JProfiler, Yourkit, etc. and see what huge set of objects are being cleared up. (Use -XX:+PrintGCDetails to see the GC runs for when to look for it.)
If it turns out to not be in the game, you've pretty painlessly figured that out, and can then turn your attention to your Android code. And unfortunately that I don't know much about.