in reply to Who's referencing my variables?

Also Test::Memory::Cycle, which of course uses Devel::Cycle. These sorts of problems usually can't be found by static evaluation of the code: you must let it run for a while, then test for cycles, then sleuth it all out as to why.