I found several cases. This is an improvement only because no cases were reported. But obviously in case of unlucky exception after the EntityListIterator creation and before it's closed the EntityListIterator remains in memory. It should be closed in EntityListIterator.finalize() but the less happens there the better.
The solution is to use try-with-ressources when (easily) possible (some cases are quite convoluted)