It does this because if it didn't, the update may break your computer.
Picture your nice XP computer compromised. Some core software modules have been infected and they change the way your computer is being run. Now you run an update. These infected modules are moved around, and no longer have the proper execution paths. The hooks that the malware used are now no longer pointing to any valid code. Your computer is now a very big and noisy paperweight.
This is not a theoretical. It did happen. And people blamed Microsoft. The computer went from a working (though infested) machine to one that wouldn't boot. Peopel blamed Microsoft, since they were the trigger that caused them to break. Microsoft knew they needed to fix this, and created a piece of software that tried to clean malware before installing any update.
As far as timing; it really needs to be done before an update. An in the background scan may allow something to be installed (and broken) before a proper scan.
If it bothers you, maybe you can meditate on these things:
it normally only takes any real time if you have malware, and in this case you really do want it to run and clean.
if you did have malware, and the update did cause your machine to not boot, you would be spending a lot more time reinstalling Windows and getting your apps to work. And at that point, probably wishing Microsoft did do something to prevent this bad cycle.
In short, it works as designed, and though it takes some time, you really do want this.