In light of the "spam" registration issue it's clear that we need some additional user cleanup functions, particularly as many of the user deletion functions do not work well for bulk deletes. As such I think the following two items would be ideal
1. A new scheduled task that will delete unverified users after a period of time (which can be specified via a host setting - or module setting if this is done via a module)
2. a new scheduled task that will "hard" delete any existing soft delete users. This could happen on any soft-deleted users, or perhaps via a setting similar to above.
By doing this via scheduled tasks then the actions can occur on smaller "batches" of users e.g. 50 at a time, and allow usage of the correct DNN API methods.