Well, in theory an item needs to have a valid URL, but there are few cases where it's not going to be the case e.g. Records::url() can also throw an LogicException when the Record which is being deleted belongs to a database which isn't associated with any public page.
That said, I have reported this to our internal bug tracker, so that we can investigate this further.