in reply to Memory Leak
Zaxo is right, in that there could be endless speculation as to what the problem actually is without seeing code, so here is my guess
Where the rate of growth is constant as opposed to variable, i.e. it always increases by 6MB, try looking for a file {conf, log, template, etc...} of about 6MB in size. For whatever reason I dont think it is a hash that is growing, but either an array (being push()'ed into without being cleaned) or a scalar (appended to via .= or something similar) that is the issue..
thats just a hunch without code, but its an easy mistake to make...
P.s As a starting point look for global variables, not local variables within the subs, as well as verify that the spelling of the vars used in the subs matches the vars localized. Find all vars that aren't my()'d or local()'d, and track those through the code.
/* And the Creator, against his better judgement, wrote man.c */