This happens when DRF is enabled and all of one resource is consumed but the second resources still has plenty available.
This is reproduceable by setting up a parent queue where the capacity and max capacity are the same, with 2 or more sub-queues whose max capacity is 100%.
In one of the sub-queues, start a long-running app that consumes all resources in the parent queue's hieararchy. This app will consume all of the memory but not vary many vcores (for example)
In a second queue, submit an app. The Max Application Master Resources Per User limit is much more than the Max Application Master Resources limit.