Many functions in the GC don't actually allocate, but are useful for building tools that help facilitate working around the GC - i.e, AddRange is vital for manually managed memory that holds references to GC allocated memory. I don't think there's a reason these shouldn't be @nogc but I could easily be wrong.
https://github.com/D-Programming-Language/druntime/pull/1203