Scott Koon needs a history lesson. Lets look at the purpose of C++ and C#.
C++ was invented with what I call a theory-mindset. By this I mean it gives developers all the power under the sun- power and beauty of controlling a machine. You can say in a way that you ought not to use C++ unless you are and expert for you can destroy your own foot and eveyone else’s who uses your code.
C# and .NET were invented with what I call money-mindset. The driving force is to get thing up fast and great; and forget about everything that do not help in meeting these goals. Things like pointers and memory management are of less concern compared to the business-need of getting things done.
Given the mindset, I do not think it a must to learn C++ intricacies if you really want to understand C#. The purposes of the languages are different so they are designed different despite how similar they appear. C++ can really help you understand the sweetness of Garbage collection. However, C# users uses are paid to get thing done and that is what C# is all about.