In the tinkerpop/gremlin-dotnet/src/Gremlin.Net/Driver/ConnectionPool.cs, a bug exists where the connection count locking mechanism logic can create a situation that creates infinite amount of connections to be opened. My suspicion is that its within the while(true) loop within the EnsurePoolIsPopulatedAsync function.
I cannot reliably recreate the issue, but since updating from 3.4.0-rc2 to 3.4.0, I've seen this issue happen several times, which cause our hosting environment to run out of socket connections and start throwing:
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host