Hmm.... if that's true we should switch to unique, but in the current implementation the header gets passed to every Variant and also to the VariantWriter. Each one of these are also sharing ownership on the m_header memory. We could (should) definitely change all this, but currently I think this is shared.