Hmmm… algo não está certo aqui, porque:
O grant já está fazendo join na tabela de usuários, então ele precisa obter o ID do usuário de algum lugar.
Fico me perguntando se a forma como isso está escopado significa que o dependent_destroy não está funcionando corretamente.
De qualquer forma, podemos adicionar uma limpeza semanal.