I think it's mostly about the failure case. Calling the callback immediately can mean that certain algorithms will walk down the stack, invoking synchronous callbacks until they run out of stack space. Not great.
In your use case it's possible you'll never hit that failure scenario.