Problema risolto, è bastato mette un Delay(1000) al posto di 20 tra un invio e l'altro.
Qualcuno mi sa spiegare il perché?
Perchè la .readString() attende un timeout ( che di default è di 1000 ms ), quindi con solo 20ms inviavi caratteri di continuo e non uscivi mai dal .readString()