TaskManagerIO requires that all the functions that you call are either asynchronous or can frequently call taskManager.yieldForMicros(..) if they need to be long-running or block for any reason. Tasks (including everything that tcMenu does) need the run loop to constantly run. I recommend that you read through the TaskManagerIO documentation:
https://github.com/davetcc/TaskManagerIO.
On ESP32 or mbed, if you cannot arrange for this then you could create an additional thread to do the long running task, as long as the library in question is thread-safe enough to support that.
To be honest, most Arduino libraries don't block and in most cases just integrate with the loop pattern easily.