Serial USB communicating with increasing time gaps

It is most likely the PC side of the USB not reading it fast enough. I can't offer much advice there.

But your sender is just sending as fast as it possibly can. Remember the SerialUSB ignores the baud rate. (It is actually much faster than 115200.) So the baud rate doesn't hold down the sample rate to a consistent speed. Use a blink-without-delay timer (using micros()) to set your sample rate at a specific speed which is within the PC's capabilities.