I think any RTOS is a great choice and code will become cleaner, but use an "OS" abstraction layer so you can easily change RTOSES in the future. Start with free one of course.
Look at what debug support for whatever IDE you use to help check task stacks , timers and mailboxes etc.
Many examples of abstraction layers on NXP, ST sample code.
CMSIS-RTOS api is also abstraction layer..