The operating system stops(rather interrupts) the task before it go into a system call or io where a wait is forced. If you have a program that runs in a loop without any system call like while (1); then , if the operating would have waited for the process to complete, the PC would have hunged and you would have needed to reboot.
But with preemptive, all the other tasks will still continue although every thing will be slower.