I've struggled debugging a slow put-request to our ASP.NET Core 2.0 Web API. After trying most things, I realized turning Fiddler off solved it. I've confirmed this, enabling the listener adds about 1s overhead to the request. This is only present for PUT requests.
POST-request with Fiddler on: ~20ms
Identical request with PUT, Fiddler on: ~1.200ms
Identical request with PUT, Fiddler off: ~20ms
It seems likely that your client application hasn't disabled ServicePointManager.Expect100Continue. Depending on your scenarios, you may wish to do so.
See https://blogs.msdn.microsoft.com/fiddler/2011/11/05/net-httpwebrequests-and-expect-100-continue/