I don't have an explanation for your results (though I wonder if metadata-related reads are part of the explanation), but I have serious qualms about making processes sleep. In the limiting case, that sets an upper bound on output rate, regardless of other demand. Have you explored lowering scheduling priority instead? That would allow other processes (which would generate read requests) to make more requeasts.
