So I've sat and watched my application in JMX, specifically the Memory tab. I was quite surprised to see the heap creep up to about 300MB. It does shrink down but in another 5 minutes or so, it's right back up there. I was curious to see what was actually inside, so I initiated a dumpHeap to disk (also from JMX). The annoying thing is that file created is only about 11MB small! I've tried it a few times, just to make sure I wasn't catching it at the wrong moment, but it hasn't seem to make a difference.
Can anybody explain this quite significant difference?