The RoundTrip contract states that the request body should be closed by RoundTrip, even when an error occurs.
https://pkg.go.dev/net/http#RoundTripper
The HTTP/2 RoundTrip / RoundTripOpt does not close the request body, if its client connection pool cannot acquire a connection (see transport.go#557).