Delete record does not delete the derivatives records.
Current implementation of Delete api does not check and act on the derivatives records and leave the storage records in inconsistent state. I think the correct behaviour is to delete the child records, but may be other option is to update the references. This is something to be discussed.