When using the force_delete argument of wp_delete_post() the post is not purged from the cache even if it was published.
I think that we also need to hook into before_delete_post
Attachments seem to have their own deletion hooks as well, but I've never used attachment pages so I don't really know how they work.