Not really. RAII still allows for dangling pointers/references. The STL is vulnerable to iterator invalidation. Ranges are likewise vulnerable.
> Contracts and some of the stuff in the new Core guidelines take it further.
How do contracts help memory safety?
The ISO Core C++ bounds/lifetime checker does, yes, but as I mentioned in the other comment I don't know whether it is still going to be C++ in practice.
> The stuff I work on has tons of users and start up perf and minimal memory usage are primary requirements.
Those are valid reasons to use C++, yes.
> Most of our bugs are nullptr access violations or straight up programming errors that C# doesn't shield you from either.
C# doesn't make null dereference undefined behavior :)