Using Behavior>>allInstancesDo:, Object>>someObject,
ProtoObject>>nextObject, and ProtoObject>>pointsTo:, it is possible to
compute the transitive closure (as a graph) of all the objects that
reference a particular object (such as BitMap.) Careful anaylysis of
the object reference graph of the mystery BitMaps should enable you to
figure out why they are strongly referenced, and so not being garbage
collected.
Perhaps a utility for this purpose already exists for Squeak. It does
for VisualWorks.
--Alan
--
Select "self" in your inspector and open the context menu. Choose
"chase pointers". This will show you the path from Smalltalk (the
system dictionary) down to your object.
If it's blank, select "self" and choose "objects pointing to this
value". You'll have to chase these pointers manually until you find
what's hanging on to your object and then kill it.
- Bert -