Ganglia reports the memory utilization at the system level.
Say for example if the JVM has Xmx value of 100 GB. At some point, it will occupy 100GB and then with a Garbage collection, it will clear off the heap. Once the GC frees up the memory, the memory is not given back to the customer. That means at the system level the JVM process is still utilizing 100GB. Although the heap usage is much less than that.