Well, the honest answer is that I didn't implement UNTIE because I wrote this long enough ago that I didn't realize I needed to! I wrote Tie::Handle::ToMemory for a very specific purpose where I needed/wanted a FIFO queue.
For your purpose, collecting output from a program, I suggest you consider several alternatives. Personally, I use IPC::Run3 for that kind of thing. It's very portable and works like this:
(0)
]
