i wrote a comprehensive access time based garbage collector for my relay project... i consider it to be practical engineering in databases, especially with the relatively higher cost of writing data on SSD (it wears them out) to avoid erasing data but just leave tombstones in a log and remove them when you need space only
the delete message should be treated as a tombstone, it should not be ephemeral, it should be as persistent as a regular note, and it should outlive any live copy of the note it refers to, if not, it fails to do what it is for