Importance of scheduler in delay operator

Hi. I'am wondering is this construct is legal or not

         .delay(for: 0.3, scheduler:
         .store(in: &cancellables)

delay is working on the global queue and .complete and .next can be triggered from different threads.

So there is a possibility that .complete will came before .next

Are there some guaranties that .complete will always be after .next ?