I know what you've mean. Anyhow, the M106 is executed as fast as possible and not waiting for any movement. When you have a file only with
The M106 is executed before! G1 ends.
G1 X100 F10 M106 S255
The M106 is executed before! G1 ends.