AFAIK Begin../End.. is the old async API, why not using
await webRequest.GetResponseAsync()
inside try/catch
? And without minimal reproducible example it would be hard to help.