Você deve usar o UserDestroyer para deletar um usuário corretamente. Algo assim deve funcionar:
UserDestroyer.new(Discourse.system_user).destroy(User.find_by_username_or_email("ex@example.com"), delete_posts: false)
Isso fará com que o usuário do sistema delete o usuário com o e-mail ex@example.com. Você também pode fornecer um nome de usuário em vez do e-mail.
Se quiser que os logs mostrem quem deletou o usuário, substitua Discourse.system_user por User.find_by_username_or_email("admin@example.com"), onde admin@example.com é o e-mail de um administrador do site.