in reply to garbage collection not happening?

You need to be using Net::SFTP instead of Net::SSH::Perl. Net::SFTP has do_open(), do_read(), and do_close() methods which behave very similarly to sysopen(), sysread(), and sysclose(). Granted, you don't have the nice split-on-$/ behavior of normal filehandles, but you won't blow your memory out, either.

Of course, you could just pull the logfile into tempspace and read it there ...

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.