Just a thought but there are two ways we can go with this:
1. as you're doing, where we always sleep that amount
2. where we play catch up and only sleep the amount of time leftover in the interval after it has done scheduling for that interval (kinda like FPS calculations)

I'm not sure I am leaning one way or the other but the latter would be more consistent, although that may not be important.