TM clones a message into shared memory (TM keeps a snapshot of messages in memory); note that many operations, which allocate pkg memory (such as parsing) cannot be used with a cloned message -- it would result in linking pkg structures to shmem msg and eventually in a memory error
The cloned message is stored in a single memory fragment to save too many shm_mallocs -- these are expensive as they not only take lookup in fragment table but also a shmem lock operation (the same for shm_free)