While I haven't re-examined this issue in years, the collector hasn't changed and this property continues to hold... it's a natural artifact of the stack scan process in the gc. Not every byte of the stack is initialized from valgrind's point of view (or in reality), yet the stack scan can't know that and takes every slot into account regardless. IE, it's a standard part of conservative gc engines. The right 'solution' is to suppress that stacktrace in valgrind.