I agree with the recommendations to try VisualVM (or even jconsole) or jmap. VisualVM will be very helpful for monitoring heap growth before and after you connect to MongoDB, as well as for checking which classes' objects are occupying most of the heap.
You might also want to try the following JVM args:
-verbose:gc -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintHeapAtGC
This will write a log file with a lot of useful info on heap usage and garbage collection. You can then tail it while connecting. Make sure the argument to -Xloggc includes a relative or absolute path to a directory your webapp can write to, such as your webapp's existing log directory.
I've used the above JVM args to track down several memory-related problems. The overhead is pretty small, so I use those settings in production with an app that has a 55 GB heap.
Robert