Después de dar vueltas y vueltas, volví atrás, hice un programa donde no manejo hilos, solo leo el puerto serie en un loop infinito con la rutina arriba mencionada y en tal caso, si se cierra el puerto y termina el programa
Que raro que cuando esta rutina se encuentra en un hilo no funcione...