So either we're doing 5 seconds of work in Paint, or we're doing 5 seconds of work in form Load. Here's what it looks like when the work is done in Form.Load:

And here's what it looks like when the work is done in Form.Paint:

The amount of time is the same in both cases, but guess which one users will tell you is "faster"? Perceived performance is more important than actual performance.

Sure, you can do a lot better job with threading, but I guarantee that'll take a lot more work than three lines of code! That's why I love the IsFirstPaint and DoEvents combo: maximum benefit for minimum effort.