Traditional using() block disposes WCF clients incorrectly when there's a communication exception, eg dropping network connection. It raises exception during the dispose and thus the resources held by the WCF client aren't released properly. After some time, you end up with memory leaks. You know that any IDisposable object must be disposed using using. So, you have been using using to wrap WCF se