Probaste primero a escuchar con netcat en ese puerto y comprobarlo con http://canyouseeme.org/ ?Si lo único que funciona es tu aplicación el error es del programa, no del PC o de tu router.En ese caso la pregunta sería de porque ese code en .NET no funciona
Si en LAN te funciona y en WAN ya no, el problema es la configuración de los puertos.Configura tu equipo servidor (Al que se conectaran los clientes) en modo DMZ desde el router.PD: No he visto el codigo.
Tienes que usar una web o servicio externo como el que te puse anteriormente, si copias tu ip pública y la pones en tu browser no sirve, estarás accediendo a tu router desde una interfaz incorrecta (porque estas en LAN).