I like instantiating my WCF service clients within a using block as it\'s pretty much the standard way to use resources that implement IDisposable:
using
IDisposable
You could also use a DynamicProxy to extend the Dispose() method. This way you could do something like:
DynamicProxy
Dispose()
using (var wrapperdProxy = new Proxy()) { // Do whatever and dispose of Proxy will be called and work properly. }