Вы рассматривали корреляцию? Это обрабатывается для вас WF4? в WF3 это не предлагалось из коробки. Это означало, что если вы отправите запрос из давно работающей службы, WF3 не будет знать, к какому экземпляру рабочего процесса направить ответные сообщения.
Без корреляции обратный вызов из WCF не будет перенаправлен в «ожидающий» экземпляр рабочего процесса.
UPDATE
Вы записываете токен корреляции в сообщение обратного вызова?
ОБНОВЛЕНИЕ
Извините, у меня нет примеров, поскольку я не являюсь пользователем WF4. Мне пришлось реализовать корреляцию в WF3, потому что он не предлагал эту функцию. Для этого я создал службу поиска, которая отображала значения корреляции в направляющие экземпляров рабочего процесса, и тогда входящие вызовы могли предназначаться для определенных экземпляров через wsHttpContextBinding.
Но WF4 позволяет вам инициализировать и отслеживать корреляцию при каждой операции отправки и получения. Вы можете прочитать об этом здесь:
http://blogs.msdn.com/b/endpoint/archive/2010/01/04/what-s-a-correlation-and-why-do-i-want-to-initialize-it.aspx
http://msdn.microsoft.com/en-us/library/ee358755(VS.100).aspx