You will need to a shared pool to keep the usage down, and ideally it will be bounded to something separate from the number of receivers (if it can grow large). Bounding should be fine because compression/decompression is non-blocking and has no dependencies so it shouldn't deadlock. So yes bring back the pool, the global pool will work in practice, but it is unbounded which is not ideal.

Sorry if I sent you down the wrong track.