in reply to Am I mistaken about Moose 'DEMOLISH'?

Are you sure you didn't do something more like

my $foo = Some::Moose::Object->new(); my $bar = $foo; $foo = undef;

There's still a reference to the object, so it can't be destroyed yet.