Ответ 1
Текущие реализации (Druntime) используют сборщик мусора stop-the-world, но язык сам по себе не накладывает много ограничений на детали реализации.
Существует параллельный сборщик мусора для D, CDGC, для * nix-подобных ОС (он использует forking).
Инкрементальные GC трудно использовать в компилируемой среде из-за необходимости писать барьеры. VM могут отслеживать ссылки, однако системные языки, которые могут вызывать memcpy
и подобные функции, не могут.