Thanks.
That is very similar to my code. I found out after posting this that the async/await stuff . Which is what I was writing to test it and for a quick solution. The magic is the Wait(). Even when I had try/catch around the code it was never caught. async and a void method don't mix.