As an experiment, I removed my .jar file from the Java dynamic class path and added it to the static class path by modifying classpath.txt and re-starting Matlab. Guess what...the problem went away. So, this problem lies in the fact that ML is not properly de-referencing java objects on the dynamic classpath. Or, some aspect of my .java code is causing it not to be properly de-referenced when it's on the dynamic classpath. I have other java objects that don't have this problem and work fine on the dynamic path.