Здравствуйте, пытался перенести ваш код в Visual Studio, вроде все нормально. ни на что не ругается, но программа зависает на client.SendAsync(msg).Wait(); и дальше не идет, в чем может быть проблема ?
Решил проблему вытащить все в отдельный поток, не знаю как это связано, но работает :)...