It is well documented that while ``HttpClient`` implements ``IDisposable``, it is intended to be reused, which means not wrapping it in a ``using`` statement.
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.