En este caso, el 1r hilo de rosca del contador de tiempo crea el ServerSocket y puede ser que no sea basura recogida cuando el 2do funcionamiento del hilo de rosca del contador de tiempo; ése es porqué usted consigue la excepción del lazo.
Usted puede conseguir en qué puerto está escuchando el zócalo usando el método del getLocalPort ().