In fact we don't bounce [mails to nonexistent recipients], we reject them at SMTP time with a 450 error code.
That's bad too. That's a temporary failure. Which means the mail stays on the remote queue and they retry it again after a while. They do this over and over again until a week or so has expired, at which point they decide the 'temporary' failure is in fact a permanent one.
It also means that people who do callouts to verify the sender of mail they're receiving might have been accepting mail with your addresses faked, rather than rejecting it as they would have done if there'd been a permanent (5xx) rejection from you.
If rejecting mail to unknown users with a temporary failure code is, as you say, "the standard behaviour", then I suggest you go file that as a serious bug with whatever distribution you're using. You effectively brought the DoS upon yourself.