Исходный и хорошо известный класс HttpClient очень просто использовать, но иногда разработчики применяют его неправильно.
Этот класс реализует IDisposable, однако объявлять и создавать его экземпляры в инструкции using не рекомендуется, поскольку при удалении объекта HttpClient не происходит немедленное освобождение базового сокета, в результате чего со временем может возникнуть проблема нехватки сокетов.