Есть такая штука, называется write barrier, которая нужна для автоматического перемещения объектов в серую область без повторных сканирований. Советую почитать комментарии в коде:
https://golang.org/src/runtime/mbarrier.go. Для включения этого барьера нужна полная остановка всех горутин, дабы избежать всяких артефактов от параллельной работы. После включения как раз таки и будет постоянно в одном из тредов висеть горутина с gc (25% выделенных тредов будет оккупировать). Больше того, wb сам по себе привносит оверхэд в работу с указателями, что еще немного замедляет код