Depending on what your main code does, the answer might be yes.
Just remembering that the ISR is tied up for any of those pauses that could happen.

So maybe you’d have the first one, but I wouldn’t say you have the second one.
The idea is to realize multichannel software PWM using interrupt.

I want to run this code in background of main task.
Because it’s not done in a way you could forget about it.
If you sent a serial, LCDOUT, I2C, etc. command from your main program,
and it got interrupted part way through for the above, the command in the main program wouldn’t work
.. unless those pauses were extremely small maybe.