USART interrupt handler is invoked only once

Agreed, the problem is probably somewhere in your code using FreeRTOS (not likely in FreeRTOS itself). Perhaps the task that is getting the message is doing something bad.