Ethernet Shield possibly seizing

Post all your code. I do not see where you are reading the response from the server. If you leave any characters in the w5100 rx buffer, the connection may not close correctly and "eats" that socket. There are only 4 sockets in a w5100.

edit: If the problem is client.connect() continuously returns false after working for a long while, then that is normally an indication all the sockets are unavailable.