Think about who those domains belong to. Wildcard acceptance is common at mid-sized companies, at firms using a hosted mail gateway, and anywhere an administrator decided that catching misdirected mail beat rejecting it. None of that says anything about whether your contact works there.
The risk is genuine but bounded. Some catch-all addresses are wrong, so mailing them raises your bounce rate above what a fully verified list would produce. The question is how much, and the answer depends on where the addresses came from.
Segment rather than delete. Send your verified addresses as the main campaign, send the catch-all group separately, and watch the two bounce rates. Doing this twice tells you what that source is worth, which is better information than any vendor's guess.
Source is the strongest predictor available. Addresses a person typed into your form are mostly right even on a catch-all domain. Addresses produced by a pattern generator guessing firstname.lastname@ are a different proposition entirely, and on a catch-all domain nothing will tell you which is which.
There is one case for removing them. If your sending reputation is already damaged and you are rebuilding, send only to addresses you can prove, accept the smaller list for a few months, and bring the catch-all group back once you have recovered.
Two test sends, read side by side
Say your cleaned list has 14,000 valid addresses and 5,000 on catch-all domains. You mail them as two sends. The valid group returns 70 hard bounces, which is 0.5%. From the catch-all group you get 190, or 3.8%.
Blend the two and you get 260 bounces on 19,000 messages, a rate of 1.4%. That's under the 2% line, so keeping this catch-all group costs you little. Now change one number. If the catch-all group had bounced at 12%, that's 600 bounces, and the blend climbs to 3.5%. Same list size, very different decision.
Go one step further and split the catch-all group by where the addresses came from. You'll often find that form signups bounce at around 1%, while a bought or guessed segment inside the same group bounces somewhere in the teens. Keep the first and drop the second.
What deleting them costs, and a slower way to test
Put a number on the other side of the scale before you delete. Say each campaign turns 0.4% of recipients into a sales conversation. On 5,000 catch-all contacts that's 20 conversations per campaign, gone for good. A few extra bounces are usually cheaper than that, as long as you stay under the line.
If your sender reputation is healthy but you're nervous, don't mail the whole group at once. Send to 500 a day for ten days and check the hard-bounce count each morning. A bad source shows itself in the first slice, and you can stop with 4,500 addresses unmailed and no harm done.
Once an address in the group has bounced, suppress it for good. When one has opened or replied, move it into your main segment. After two or three campaigns the catch-all pile shrinks by itself, because most of it has sorted into proven good or proven dead.
Related questions
What bounce rate do catch-all addresses produce?
It depends almost entirely on where they came from. Form-submitted addresses bounce little; pattern-generated ones bounce heavily, and the verdict cannot tell them apart.
Should I mail catch-alls in the same campaign?
Send them separately, so any bounces stay out of your main send and you can measure the group on its own.
Do any verifiers resolve catch-all addresses?
Some infer a likely answer from pattern and public data. That is a probability estimate, and it should be presented as one.
When is removing them right?
While rebuilding a damaged sending reputation, when you need every send to be provable. Bring them back once recovered.