Hey! Call Close on your client proxy objects once you're done using them! This is always a good idea, but it's a tremendously good idea when using sessionful channels. Your client takes up resources on the server until you either close the proxy object or the server reaches the idle timeout for the connection. Resource usage on the server is bounded by server quotas that limit the number of outstanding sessions before additional clients get queued up. The garbage collector will close your proxies once it gets around to it but who knows how long in the future it will be before the garbage collector runs?
Having a well-written client allows you to pack more people on a single server without having to aggressively time out idle clients. Aggressive timeout values will disconnect poorly-written clients but will also disconnect clients that are just slow rather than idle. All you have to do is:
Next time: Just the Headers