GC/D = Generally Faster allocation. Has a cost associated with every living object.
C++ = Generally Slower allocation, but while it is alive there is no cost.
So as the heap grows, the GC language falls behind.This seems to be the case in every language I've looked at this uses a GC.