I have a Perl script that's just ending before its supposed to and blowing up my system memory usage from 600 to 900+ MB instantly and then just quitting on me.
So your program is doing what you wrote, not what you think you wrote?
Define memory leak,
describe your algorithm, and
see Memory leak