What happens if the PerformConnect returns a cancelled task? ContinueWithNotComplete handles this, but Catch does not.