When request is called multiples times in a row on the same connection, the whole connection eventually stops working.
What is confusing, however, is that the node is simply idle and nothing more seems to happen at all. This points towards a deadlock, as normally the remote should continue sending pings and eventually closing the connection.
As such, I suspect a deadlock somewhere in libp2p.rs.