(0) есть 1000 и 1 вариация на эту тему.
вся логика сводится к следующему:
1. юзер при наличии прав или через привилегированный режим может вызвать объект.удалить()
2. юзер при наличии прав или через привилегированный режим может посмотреть наличие ссылок на объект. (ссылочная целостность)
монопольность тут нужна только чтобы другие юзеры в то же самое время не попытались использовать удаляемый объект.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший