Switch to Task.UI_PRIORITY and more uniform chaining behavior