Hello Bill, I am not a developer of the chip, but if I would be a developer, I would assume connect request from remote host with different IP address and/or different source port making round robin between sockets.
Polling has nothing to do with it. When you poll you just get status of the socket. If socket does not connect it is not because you do not read its status, it is because connection is refused or times out much earlier than you get to socket CONNECT state. If you poll “not so fast” then remote network device will be “hanging” until your W5500’s driver understands that there’s connect and starts processing socket TX and RX data.
I assume that you instruct both sockets with LISTEN command initially, and then when one finishes the session you reopen socket and re-instruct it to LISTEN. If socket is not in listening state, remote device’s connection request will time out.