I think we should close in any case, even if the Do fails.
`clientconn.Close()` in fact calls `dial.Close()`

wdyt ?