If CLI is involved, then it's not C++, it's C++/CLI. Despite the similarity in names, and even the fact that a C++/CLI compiler will accept a lot of legal C++, the two languages are still effectively entirely different.
As far as memory management goes, most of us use RAII (aka SBRM) so we not only get automatic management of memory but of (nearly all) other resources as well. Resource management in something like C# tends to be relatively ad hoc. In (well written) C++ it's much more systematic. The bottom line is that resource management typically intrudes much less on day to day coding than when you're stuck working around the problems caused by garbage collectors and their non-deterministic destruction.
C++ has almost never been used for things like basic CRUD applications. Even old code (or, perhaps I should say, "especially older code") was often right on the cutting edge when it was written. If it's still being supported, chances are pretty good that it's because it's still right on the cutting edge. Some of it may be ugly, hard to understand or maintain (e.g., was originally optimized to the hilt -- for a 486) but boredom is rarely a problem. Most brand new C# is dull and dreary compared to most 20 year-old C++.
The C++ standard library (once you understand it) will probably make you wonder how you ever put up with something like the CLI. At the same time, if you really want to work with something like the CLI or Java standard library (a giant class hierarchy with everything derived from
Object) you can do that too -- you'll just have to find some really ancient C++ code that uses (for one example) Keith Gorlen's NIH class library (but you'll probably have to look hard -- C++ moved beyond this model a long time ago). The containers/algorithms/iterators in the C++ standard library are (at least) as much of an improvement on that as the CLI is over GW BASIC.
When you're comfortable with that, the next step is Boost. Boost is something of a two-edged sword though: on one hand, it can be a huge help in getting things done. At the same time, looking through Boost code can be one of the most humbling experiences possible. Imagine how you'd feel if you had direct access to all of Eric Lippert's C# code. Take that, multiply the quantity by 50 and the quality by 3, and you're getting close to the Boost league (though here, "quality" is referring less to things like fast, compact or bug-free, and more to doing things you'd have sworn were impossible, and/or really stretching your mind to view problems in entirely new and different ways that quickly start you wondering how you could have been so dense for so long).