Originally Posted by TheCPUWizard
1) It happens automatically if the user "remembers" to use stack semantics and not reference semantics.
1a) FxCop can be configured to report any IDisposable object which is created outside a using block.
As to "prefer the C# way". I never said that. I merely said that I do not prefer the C++/CLI way, as there are no real advantages in this regard. In other words, the issues of managed object memory management, is (roughly) equivilant. The c# method has some advantages, in that you can do additional processing between different objects being disposed without any additional work.