Very interesting problem indeed, I saw such behavior before but it wasn’t too critical for us, however I do see cases when it could be critical.
@nhaarman I’ve added more detailed explanation to the github issue.
Hope David will agree on a change for more deterministic behavior, but there might be corner case(s) which I don’t see atm when such “fallback” to drain after upstream completion is required.