I don't see the example "never being GC'd" as being related to the UserInterfaceTheme implementation. I may be missing your question but
Oh, easy to check: just do
100 timesRepeat: [Morph new userInterfaceTheme yourself].
then
UserInterfaceTheme current explore
... you will see all 100 instances of Morph in the stack.
Stef