STW — пауза, когда рантайм останавливает все горутины. В Go GC это происходит дважды: перед маркировкой (включить write barrier) и после (выключить). Раньше STW было больше и длиннее, но с каждой версией Go команда их минимизировала. Сейчас STW паузы обычно <1ms даже на больших хипах. Во время STW ни одна горутина не выполняет пользовательский код. Горутины останавливаются на safe points — тех самых preemption points. С Go 1.14 (async preemption) STW стал ещё быстрее, потому что не нужно ждать tight loops.