it look like these delays are varying because when only M8/9 used then delay is approx 0.15 sec on mine PC(you say 0.166 on your which is almost the same)
in real G code for 5 on/ff that mean 10 M commands the difference is 5 seconds, which mean 0.5 sec per M command
so I expect same differences with tool change and spindle on/off
I hope someone can help with the rest, until now the difference is good enough, it is worth