One way to gaurantee garbage collection is to exit a process. If nothing else works, launch a child process for each element of your list. The child will get the element, populate the hashes and whatever else, and exit.
-Mark
Comment on Re: Uncollected garbage leads to swapping ...