You said one other thing that caught my attentioni:
For example, I have several tasks (that use the network) running at a priority of 100.
In a properly turned real time system, you should never have two tasks with the same priority. That breaks some of the fundamental assumptions that support deterministic response times. If two tasks, A and B, have the same priority, the response time of B will be scrambled, depending on if A is running or not and how close A is to releasing the CPU to allow B to run.
Strict priority scheduling is necessary for good real time performance.