Your problem is that your code uses an instance of the service proxy (Service Reference generated by SvcUtil or created directly from ChannelFactory ) after the service call caused an error. The WCF method is implemented, you cannot "reuse" the service proxy as soon as a call with this proxy caused an error.
You need to write the correct logic for the exception handling for the lines shown in this good post for specific WCF requirements. This must be done regardless of the actual binding that you configure to use the proxy.
source share