For some jobs schedd request and claims additional slots it won't use. If there are resources for such additional slots - the job will run, if no - the job will be IDLE forever.
I know basically nothing about the dedicated scheduler. Do you think this problem is explained by the taking-the-first match behavior you found in the dedicated scheduler? (Naively, taking the first match rather than the smallest would seem to waste resources, rather than slots...)
- ToddM