I can't see anything wrong.
What exactly is inaccurate? that your numbers aren't all near 33ms?
Yes the timings are mostly between 28-34ms, after several measurements it does turn out that the average is 33ms +- 100mus. Which is pretty close to the desired 33.33, but the inconsistency is somewhat bothersome.