Set up a smart group with a contact in it.
Create a mailing to that contact.
Schedule the mailing
Delete the contact
Send the mailing
I've only been able to replicate this when the Deletion happens after the mailing has been sent.
However I'm not sure this is a recent regression - I replicated on civicrm 5.25.
In fact I'm wondering if this is associated with the mailing recipients not being recalculated on send. i.e. -> https://issues.civicrm.org/jira/browse/CRM-20352
Thanks @luke.stewart that clarifies it - I think this will do it then https://github.com/civicrm/civicrm-core/pull/18763 - there was an old hack that abused acls to add in is_deleted = 0 that got cleaned up a few releases back - it might have been 'protecting' this flow inadvertantly