One of the performance improvements we did with WCF 4.0 was to enable concurrent receives. This greatly helps scenarios where we need to do some kind of work like DB authentication with username passwords or custom channels that may need to log something. Primarily if any path during message receive requires some concurrency, then this is the knob you need to consider.Some common Q&As regarding concurrent receives and also to help decide if you really need this and if you do, how to determine an appropriate value.
<dispatcherSynchronization maxPendingReceives=”4“ />
Here is the hotfix for .net Framework 3.5 SP1 – http://support.microsoft.com/kb/975955