As known, for C#, it will call IDispose::dispose() of a class to release resources, while for C++/CLi, it needs call "delete obj" to the same work. A fact is that: no matter a dotNet class is written in which language on dotNet platform (here, either c# or C++/CLI), it can release its resource in that calling language's native way@!
May require more reading here...