It can be argued both ways. The reason behind ConnectionInfo is to abstract what is used to connect. This is important because we might be using TLS or plain socket communications and the developer should not care about that. In that light, ConnectionInfo could close the socket but it can also be argued that ConnectionInfo should leave that to the caller (the low level function that knows what is going on).
In any case, this code is less important now with the new Call Collect code, we should definitively review this again. This fix is meant to fix a semi urgent issue now.