There are many design flaws in the dotnet classes, some originating from the flaws of the language, and some just poor OO design. In the end it can get very verbose syntax wise (even more so than c++), and you have to be very careful if you want to do anything deterministically.
Careful here. Obviously in such a large library, there are bound to be a few mistakes in the library, but for the most part, the .NET libraries have stood the test of time extremely well. The lack of generics in the runtime at launch obviously had a bit of an impact, but not a gigantic one.
Lets go apples to apples here. You cant really compared C# with .NET to C++, because C# will clobber the living crap out of C++ in this comparison. The standard C++ libraries are downright anaemic Moving beyond that, due to 20+ years of legacy, even though the provide almost nothing, they are still loaded with far more mistakes and cruft than even the massive .NET libraries.
I have never EVER heard anyone claim the .NET libraries as a negative, especially when comparing to C++.