Sure, if you yield on a signal that never gets emitted or a function that never completes, you can... get just that, a coroutine that never ends.
I'll answer in the general case, but note when you have a question like this one, I think it's more interesting to look at a concrete case where you might use such a configuration, so we can see what are the alternatives.
You shouldn't have two nodes that yield one-another in a loop. That's a code smell. It means that each delegates work to the other, that there's tight two-ways coupling. In such a case, you might as well have just one class with all the functionality.
Or you break the loop: only one class should delegate to another, consume the result, and coordinate execution.