There is a difference between "memory in use by the program"
and, "memory claimed by perl from the OS, and not returned".
When the program is run, the program needs memory, which is
claimed from a pool managed by perl (the binary). If the pool
gets empty, perl will claim more memory from the OS. If the
program memory is reclaimed by the garbage collector (ref counting in the case of perl5), memory *may* be returned to
the pool, or it may be kept around if perl thinks it might
be reused. Perl might also return memory to the OS, but it's
OS dependent whether that happens at all, and it's certainly
not true that whenever the program no longer needs a piece of
memory, it's returned to the OS.
If you really need this kind of memory management, you're
probably better off programming in C.
Abigail