Ah... I just posted a node about Perl releasing memory back to the system when using threads... see OS memory reclamation with threads on linux
From my previous experimentation, it was almost certain that Perl would hold onto the memory, but that may have been because I was testing at a "sweet spot" where Perl's calculations of free memory-vs-it's use allowed it to retain the memory. But when it is very high mem usage, Perl will release it.
It's a crap shoot, and may depend on Perl versions, thread versions, and even the kernel.
But the gist is, Perl will release large memory chunks if it's in a thread. And the c guru said that top and ps cannot always be trusted as an accurate measure of mem use. So I would ask, as your memory climbed, did the system slowdown, or did things keep running normally.