Also if you have the same executable running several times on a machine, they share the RAM for the code (read-only pages, which should be most of them).
That doesn't work for UPX because each execution decompresses anew, which makes it a "new executable" from the OS' point of view.
The only thing that would help is kernel space merging, but that's really only activated for some virtual machines.