Degree of Parallelism means “how many things Power Automate is allowed to try doing at the same time.”
It does not mean Microsoft gives you that many dedicated servers or guaranteed resources.
You tell Power Automate: "You may process up to 10 items at the same time.”
But Power Automate still decides: “Do I currently have enough available capacity to actually run all 10 right now?”
So parallelism is more like a speed setting, not a reserved engine.
Let's say you have 1,000 leads to process.
If parallelism is 1, Power Automate handles them one by one: Lead 1 → Lead 2 → Lead 3 → Lead 4
If parallelism is 10, it can try to handle 10 at once: Leads 1–10 at the same time, then 11–20, then 21–30
This can make the flow faster. But it also means you may hit limits faster.
Parallelism does not remove limits. Parallelism can make your flow faster, but it can also make it hit limits faster.
Even if you allow 10 things to run at the same time, each action still counts against: your Power Platform request limits, connector limits, Dataverse limits, API throttling limits, etc.
So if you run too much too quickly, Microsoft may slow you down.
Your issue happened because around 1 million lead updates all triggered flows at the same time. Power Automate then had to suddenly process a huge amount of work.
The platform tried to allocate resources, but the demand was too high too quickly. As a result flows started waiting in queues, some actions were slowed down, some failed.
So when Microsoft said “resources were not available” = The shared Power Automate infrastructure could not give your environment enough execution capacity at that moment to process all those flow runs successfully.
Hope it helps!