In the Capacity scheduler if you configure the queues to be hierarchical where you have root -> parent queue -> leaf queue, the leaf queue doesn't calculate the used capacity properly. It seems to be using the entire cluster memory rather then its parents memory capacity.
In updateResource in LeafQueue:
usedResources.getMemory() / (clusterResource.getMemory() * capacity));
I think the clusterResource.getMemory() should be something like getParentsMemory().