I've tried your code in a small project and I get, after several hours or days, a lot of RX buffer overflows.
It has not to be related to your code, but maybe have you an idea what the cause of the problem is or maybe can give me some debugging hints.
Thanks,
Alx.