Проблема заключалась в том, что bat-файл ранее запускал демон в сценарии. В моем случае это была сборка Gradle. Gradle автоматически запускает демон для ускорения любых последующих сборок. Похоже, если сценарий bat, запущенный задачей cmd в конвейере Azure в контейнеризованном задании, запускает фоновую службу, задача не завершится.
Решение для Gradle состоит в том, чтобы включить следующую строку в сценарий перед запускомсборка
set GRADLE_OPTS=%GRADLE_OPTS% -Dorg.gradle.daemon=false