Ну прикинь, что у тебя есть UI thread. И есть требования, что обращения к контролам должны быть с него. А чаще всего не только контролы, а ещё и другие формы синхронизации требуются: скажем, вместо того, чтобы брать локи, ты некоторые действия тоже на него откладываешь.