I think this thread is a continuation of
How can I free the memory of a XML::Simple-Object.
I've used
Devel::Leak in the past on Win32 Perl.
Why don't you try running your program on the latest ActivePerl (5.16) on a *different PC* and see if the memory usage is the same or not with your script? If it is much lower after the XML scalar obj is destroyed, you have your answer, upgrade.