le_fdMonitor_Create take all ressources and froze other timers

I’m using the le_fdMonitor_Create(…) to monitor the TCP incoming frames.

This works well when no TCP is connected, but when I got a TCP connection connected, it seems that this monitoring “froze” some other timers.
I think it uses all MCU ressources.
Other timers created are not responding during the TCP connection, but they are triggered again (even the missed trig during TCP monitoring) when the TCP connection is released.

The question is : how to let the le_fdMonitor “less” polling or how to assign higher priorities to the timers ?
Timers are : le_timer_Create(“xxx”);

How about running a new thread to do the job?
How about creating a new component to do the job?

Here is an example to use thread to establish TCP client communication:

Here is an example to set up a TCP server to handle TCP incoming connection:

Yes after some tests, I saw that if I create a thread instead of using timers, it works.
I will try to change the code and use only threads with waiting conditions instead of every timers.