Well, assuming that the problem isn't DB concurrency, or web server hardware related, here's something to try...
WCF has some throttling defaults that caused a similar problem with one of my apps. The defaults were VERY low (something like 20 concurrent calls/sessions/instances)
Add the following to your config:
<!--add a behavior to modify the throttling -->
<behaviors>
<serviceBehaviors>
<behavior name="LessThrottlingBehavior">
<serviceThrottling
maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="100"
/>
</behavior>
</serviceBehaviors>
</behaviors>
<!-- modify the service to point to this behavior -->
<services>
<service name="MyWCFServer.WCFServer" behaviorConfiguration="LessThrottlingBehavior">
</service>
</services>