Since VariantBuilder is a class it's not allocated on the stack, so
currently you are calling init on a null pointer.

Derp, right. I guess that makes the init() method a bit useless though?

As far as i know Valgrind does indeed have issues with the GC.

Ah, that's unfortunate, that makes it a bit hard to diagnose memory leaks.