Importance of scheduler in delay operator

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

Just("Hello")
         .delay(for: 0.3, scheduler: DispatchQueue.global())
         .sink()
         .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 ?