Yeah, it shouldn't use GC memory.
The opAssign should also destroy the existing value and not use `new`, but that way assigning a Variant behaves like assigning any other value until someone fixes the whole implementation.