in reply to Unexplained memory hogging

Generally (but not always, this is OS dependent and it also depends on compile options and other factors), even is some large chunk of memory is "freed" when a large data structure is reset or goes out of scope, that memory will not be returned to the OS, but it will be available internally to your Perl program for another large data structure.