How does Bamboo choose which elastic instance to create based on the plans in the build queue?

atlassian-connect-dev
bamboo
bamboo-server

#1

I have noticed that Bamboo chooses a different elastic image (Ex here: Linux) configuration for creating an Elastic Instance than the instance that is active [Ex here: Windows]. It does not create an instance based on the priority of the plans in the build queue.

Example: On the build dashboard

Building
PROJECT › WINDOWS 1 › #7 › Default Job building on Elastic Agent on i-XXXXXX << currently building.

Queue
PROJECT > WINDOWS 2 (Highest priority as it is at the top of the order)
PROJECT > WINDOWS 3
PROJECT > LINUX 1 (Lowest priority as it is at the bottom order)

The maximum number of elastic agents is set to 2. i.e 2 elastic agents can run after the below-set condition is met.

New elastic instances will be started when
There are at least 3 builds in a queue that are executable on elastic images.

Question
I have noticed that Bamboo would always pick up PROJECT > LINUX 1 to run by creating a corresponding Ubuntu Image first. Why is that? Why is PROJECT > WINDOWS 2 not started by creating another Windows elastic instance for running the elastic agent despite having higher priority?