The two problems I'm aware of (and, sorry, my memory is now foggy) are... 1. the "using" statement doesn't call your IDisposable's Dispose() method if an exception is thrown inside the using's block (hence why I use try/finally).
2. The IDisposable's method will be called by the finalizer if it hasn't been disposed, but not all finalizers are guaranteed to run when a VM is shutting down. That may not be a problem in this case (is it?), but in general, it's a hazard. Regards, Brian. Brian Sayatovic Senior Software Architect 866-218-1003 toll-free ext. 8936 937-235-8936 office 4540 Honeywell Ct. Dayton, OH 45424 This message may contain confidential/proprietary information from the CINgroup or its subsidiaries. If you are not an intended recipient, please refrain from the disclosure, copying, distribution or use of this information. All such unauthorized actions are strictly prohibited. If you have received this transmission in error, please notify the sender by e-mail and delete all copies of this material from any computer. -----Original Message----- From: Nicholas Paldino [.NET/C# MVP] [mailto:casper...@caspershouse.com] Would you clarify the statement "My understanding is IDisposable is wrought with trouble?" Perhaps the implementations are, or the usages are (the client doesn't call Dispose, but that same case exists with the current Close method). I ask because I've seen a number of discussions (on this list and off) around IDisposable that make unqualified statements like that which don't really point out any problems with IDisposable (or other .NET-specific features). - Nick