The task does not pause. It runs indefinitely.
I just expect the ISR routine to interrupt and get called whenever a byte is received.
When a byte comes in, the register needs to be read. Otherwise, the next byte will cause the overun error to occur, and the previous byte will be lost.
I noticed all this because I was reading incomplete frames from USART.