The ByteBuffer-based implementation was doing the same thing. It results in two MemoryBuffers that are backed by the same MemorySegment.
This is only used by the transfer envelope (it looks like the Buffer is duplicated for each remote receiver)
The MemoryBufferRecycler counts the references for each MemoryBuffer.