Clearing weak references with inner classes

I have a class which contains several inner classes. During it's lifetime, this object creates several instances of it's internal objects and uses them only internally.

I also have a single weak reference that links to my object from anywhere external to the program.

While profiling, I discovered a memory leak. After examining the core dump under jhat, it appears that the only objects linking to this object are that weak reference from the external program and several intantiated inner classes that reference my object via their implicit this$0 field.

Is this possible? Does mixing inner classes and weak references stop the garbage collector from reclaiming classes?

[699 byte] By [Mark_McKaya] at [2007-11-26 18:41:23]
# 1
Based on the information you provide, I question your assertion that these inner objects are used only internally. The most obvious explanation is that you're leaking them and something else is holding a hard reference to them.
YAT_Archivista at 2007-7-9 6:15:24 > top of Java-index,Core,Core APIs...
# 2
Where is the leak?
_dnoyeBa at 2007-7-9 6:15:24 > top of Java-index,Core,Core APIs...