A common misconception, probably because the majority of D users are C++ veterans. But D was never designed as a successor to C++.
"One of the earliest design decisions that Walter made about D was that it would be easy to use
with software written in C. Many widely-used libraries are implemented in C or have a C interface.
He wanted to provide an easy path for established software companies to adopt the D language. A
straightforward approach was to guarantee that users of D could immediately take advantage of
any C library their project required without the need to reimplement it in D." from "Origins of the D programming language" by W.Bright, A.Alexandrescu, M.Parker.
D has an optional conservative mark-sweep Boehm GC which only gets triggered when you attempt to allocate something on the heap. If you don't do that, it won't bother you. Finally, you can explicitly disable it.
People generally ignore or miss the fact that D really shines when it comes CTFE, reflection and metaprogramming.