My suggestion will be to clean your mailbox instead of finding a new client.
I recall times (mid 2000's) when I was active in a bunch of open-source communities and mailing lists were the main way to discuss. Getting around 50 e-mail per day was normal.
I kept a lot of those discussions in my e-mail client for later reference, because the mailing list website had sub-par search function compared to Mozilla e-mail client I used at the time.
It's possible he's using it as an e-mail archive for mailing lists or something like that.
Some of that is mailing lists for sure, I'd say I respond to about ten direct emails (not from lists) per day. If I could use SMTP for IM, I'd probably do that too.
That seems interesting, I'll look at that. If there's one thing I have, it is a lot of memory. I would be okay if my whole Maildir was mmapped, as long as that made gnus faster.
I think using maildir directly may be hard to squeeze good performance out of with emacs. I'd suggest trying the alternatives: for eample, IMAP with ~30k messages should work decently in Wanderlust (and I would assume gnus), though initial load is slow (way less than hours, though). Using mu (maildir utils) via search in wanderlust to load 30k messages take about 1 minute, but if you are using mu you should be searching, not loading an entire mailbox. So there are probably some options out there, but I'd avoid loading 40k messages from a maildir directly.