Can you expand on this a bit? I use upx at work to ship binaries. Are you saying these binaries have different memory usage upx’d than they do otherwise?
However, when a binary is compressed, this cannot work, because in the file the binary is represented as a compressed data. The only way you can work around is to allocate some memory, decompress the binary there, map the region as executable and run it from there. This results a non-shareable copy of the data for each running instance.
A random link about this issue in practice: https://github.com/nushell/nushell/issues/4131
If the application is uncompressed, the uncompressed executable will be loaded into ram 1 time and be reused by every instance of the application.
And even then, it's of dubious value when game install footprints are overwhelmingly dominated by assets rather than executable code.