Currently there is a chat gong on in another forum related to a WordPress site being very slow.
What was discovered was that a css file and an image referenced by the page were missing.
In each case the 404 handler kicked in and it returns a complete custom 404 html page.
The lag caused by constructing and returning the full page made those missing files delay other parts of the page loading, thus making it take a long time to complete.
As these file types (css, image) are not html, returning html content seems a bit silly. Wouldn't it make sense to just quickly return a basic 404 and avoid all the delays?
(and they should fix their website of course!)