I just ran an inspection profile with 5 easy to fix items :
Redundant field initialization
Redundant throws clause
Redundant type cast
The run detects 857 items.
Now IntelliJ is at 757M / 762M of usage, and i have to wait a few seconds to scroll a page of results...
When i garbage collect manually, apparently nothing gets collected, which would mean that the results take a hell of a lot of memory.
Unfortunately i can't do memory snapshot because it crashes all the time (i filed a bug on this issue, but it comes from yourkit)...
Can you run a similar inspection inhouse and try to optimize memory usage by using flyweight pattern maybe, or internalizing strings...