и тем не менее, при запуске с высоким приоритетом, программа работает стабильно
При запуске с высоким приоритетом просто реже происходит перехват кванта времени, если конкурентные потоки/процессы работают с более низким приоритетом. Потому искажаются результаты ваших опытов. Приоритет влияет на вероятность, но принципиально никак не исключает возможность получить спонтанную задержку.
Причем, небольшую спонтанную задержку вы все равно всегда будете получать - даже если конкурентов вообще нет: шедулер, прервав вас, потратит какое-то время, осознавая это, и вернет вам управление. Тут будет меньше миллисекунд, но с десяток-другой микросекунд будет.
А низкоприоритетные конкурентные жадные процессы/потоки всегда будут отъедать у вас целый квант (~миллисекунды). Просто это будет случаться реже, из-за разницы в приоритетах. Под жадными потоками я имею в виду те, которые добровольно не возвращают управление системе в короткое время (меньше кванта).