With window authentication, on every connection, a request is made, and a 401 response with negotiation supported is received. Then the client sends a negotiation token. Then an out of band challenge/ response is done. Typically you would use keep-alive so multiple request can be made without additional authentication.
you are not following best practices, which may be casing your issues. You should be using pooled connections and a static httpclient, not creating a new httpclient for each request. See
https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/http/httpclient-guidelines