You need to ensure that you create a new EntityManager in each WCF request. What is tmrEntityManager and where does it get created? You get this exception, because you are obviously using an EntityManager from a previous request. You can't share an EntityManager between multiple requests. Each WCF request is handled by its own thread.
Are you trying to use Cocktail on the server by any chance? If so, that's not going to work. For one thing it uses a single gobal MEF container. That's fine on a client, but that's not going to work on the server. Each WCF request should use it's own container, otherwise if you have shared parts in your container, for example an EntityManagerProvider, you end up in exactly this situation where you inadvertently share instances across WCF requests and you end up in a threading nightmare.
Edited by mgood - 12-Nov-2012 at 9:23am