As I adjusted to remove Shared in the property declarations and in the function names, this is working much better. However, now, occasionnaly I get an error "Safe handle has been closed". There must be something I still need to adjust in order to have this fully functional. I have a monitoring application which is launching numerous calls to the Web Service at the same time and the Web Service is returning this error occasionnaly.