The new breed of garbage collectors may change this significantly for the better. They need to be explicitly enabled, but there is a GC (G1) that may be better suited for desktop applications (low latency pauses, relinquishes memory to the OS more frequently while idle, etc.) available in Java 11.