They are NOT mutually exclusive. Feel free to use C ++ with libgc (Boehm-Reiser-Detlefs collector). You can still use RAII, smart pointers, and manual deletion, but when you start GC, you can also just “forget” to delete some objects.
@ Indie's answer is that resources that are too late miss an important point: this is not a resource allocation release that is semantically critical, but rather a release order.
The reason GC does not seek to streamline the release is because ordering sorting is required to streamline requirements (dependencies) and an expensive algorithm.
Ocaml GC , . , , ( : ). .