ISR routine is not properly running

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.