If you try to call a web service and wait for it to close, the connection will probably fail. So what happens there? Does it eventually just get cleaned up by the garbage collector or dereference? Well, garbage collector doesn't work as well with async stuff because the destructors could be called in any straight. You can't rely on that. It's a good idea not to try any of that. And instead just trace a resource warning.