UrlChecker can exhaust sockets
In the current implementation of the UrlChecker for every check a new HttpClient is created. This can cause problems.
On MSDN it is stated under the remarks section:
HttpClient is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors.
Also more information about this issue can be found here: https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/
I will try to create a minimal verifiable test project to demonstrate the problem soon, as well as perhaps a pull request to fix it. I am currently at work and don't have the time to do that now.