in reply to How to avoid closures and memory leaks.
Those help when your memory leaks are due to subs wrapping method calls as for instance:
$self->{watcher} = AE::io $fh, 0, sub { $self->_read(@_) }; [download]