Can you clarify the syntax of Njobs-Mnodes is doing? Are your jobs just single processor jobs (no MPI, or you are just using one core)?
In any case, the behavior you are seeing is not unexpected. As you add more processes (jobs) to a single node, each one has to share cache and memory bandwidth. For codes that are memory bound, you will see little performance increase from the additional cores. My guess is that this is what you are seeing.
Depending on how your jobs are laid out (I don't understand the description of your data) you may be having conflicts between different jobs running on the same node.
It is best to try and dedicate nodes to a single job to elminate resource contention. However, I wouldn't leave cores idle to accomplish this.