This startup phase can take extremely long, especially for nodes catching up.
Scenario:
a) User starts client after say, a week, client downloads the rest of the chain in the background b) User shuts down client before validation completes c) User restarts client
Now, the user will have to wait for all blocks that were previously downloaded to be validated. This can take a long time, and meanwhile the user cannot do anything. Also the application cannot be interrupted (with e.g. signals) in this start-up phase.
Would be preferable to move this to after AppInit2, in the background, if possible.