Hi,
You asked if it's expected behavior and the article you linked says that it could happen and it's expected behavior, so "Developers should take steps to ensure that duplicate execution is not a catastrophic event"
I think your question is more about frequency? Please tell us how often duplicates happen.
On a side-note. Tasks are architecturally decoupled from the versions semantics since it's a separate API. It's technically part of the Cloud Tasks API as mentioned here[1]. So this means "gcloud app deploy --no-stop-previous-version" would probably entice more duplication as the state of the code is being scaled-up, the previous configs remain active because they are decoupled. In this case you'd have to ask yourself, what is the state or the condition of the code doing? And how often is it happening. This would happen in any microservice environment that scales and I think it's no2 "Asynchronicity" here[2]. Depending on your needs, you may require to code a completely separate service that is more elaborate than our tasks API. It's one of the pitfalls of having things decoupled.