When we generate (WCF) service proxy class for a service by using svcutil.exe, it creates a proxy that derives from System.ServiceModel.ClientB... The proxy implements IDisposable and the client code can be wraped inside using statement and guaranteed clean-up in the face of exceptions. However, the System.ServiceModel.ClientB... class can throw exceptions from its Dispose method, because it internally invokes Close() method which might lead t0 a faulted state. In ......