You don’t always have that luxury. Certain things can only be executed on the MessageThread, or you have to prevent the MessageManager from executing; even if your algorithm only takes a very short amount of time, the MessageManager mustn’t do anything in between.
If you never had that problem, great for you. That doesn’t mean other people don’t encounter it.