Hi,
We can't find any obvious explaination.
Can you manage to take a thread dump of the client process while it is blocked?
Note that when you receive OnFailure you don't need to explicitly unsubscribe and disconnect. Perhaps saving this part could simplify the case.
About timeouts, you are right. I suppose that you have followed the instructions in the
OpenConnection documentation, but unfortunately the documentation seems wrong as, currently, the library doesn't support timeouts. This was a feature of the previous .NET client SDK that we still have to reintroduce in the .NET PCL SDK. We plan to do that in the short term.