O problema é mais que eu não tenho controle algum sobre a memória com Java, só com C++, que tem abstrações pra lidar com a memória, que são os ponteiros. Com Java, de tempos em tempos roda um coletor de lixo que sai apagando tudo o que não está mais sendo usado, e esse coletor de lixo pode deixar a aplicação mais lenta, mas geralmente não é o caso. Geralmente ela fica lenta por excesso de recursos na tela. Acho que truncar a conversa para coisas mais recentes pode evitar esse tipo de coisa.