I came up with a simple way to eliminate spam in my email, without any third party filtering. I have my own domain name for email. My email box accepts anything that goes the domain. I.e. a catchall email account. However, I give a different email address to every site and service. I.e. sitea@mydomain.com, site2@mydomain.com This lets my email reliably get auto sorted by who its from. But I also use a consistent form…
I've been doing the same for some years now, except auto deleting anything. What I noticed is that the only spam I get goes to my mail address that's published on my blog and my github address. So it seems that nobody sold my address to spammers, they only scraped Publicly available addresses.
I've been doing it for many years and have already went through quite a few leaked addresses (at least a dozen or two, out of many hundreds). Even a small hotel, not part of any hotel chain, in Portugal in the middle of nowhere has leaked my address.
That said, I believe almost all of those leaks were due to websites or databases having been hacked, not due to them actually selling my email addresses.
When they sell my data (which has also happened before) I tend to get spam from actual businesses, often related ones. When the email gets leaked, I tend to get huge amounts of generic spam/scams (e.g. "your device was hacked!!"). You also tend to find the latter addresses on haveibeenpwned.com.