When would it become necessary to use an OS for an ARM MCU
You never need a operating system.  It's a convenience that comes at a cost.  Only you can say whether the advantages outweigh the costs for your application.

In general, operating systems give you a abstracted interface to the machine's raw capabilities.  The abstraction is often designed to make the application interface independent of the hardware details.

The abstraction is more than a hardware-independent layer over the real hardware.  There are also abstractions added that are purely creations of the software, or are only partially assisted by hardware.  For example, your ARM core can only process a single instruction sequence at a time.  However, the OS can give the appearance of multiple independent threads.  On systems with hardware memory protection, this can be expanded to multiple processes assumed to be hostile towards each other, each with multiple threads.

Then there are many other features usually provided by OSs, like a file system above the non-volatile storage, virtual memory, timers, semiphores, shared memory, pipes, and lots more.

All this comes at a cost, which is lots of extra cycles and lots of code between your application and the hardware.  In many cases there is more than enough memory and cycles for the app, so the main cost is logistic in having to integrate your app into the OS environment.