I use a form to perform that task and it works great.
At the end of My DoSomething macro I open my DeleteTable form.
I set the timer interval in the form to 5000
I put this in the "On Timer" event procedure
Private Sub Form_Timer()
On Error Resume Next
DoCmd.DeleteObject acTable, "TableName"
DoCmd.DeleteObject acTable, "TableName1"
DoCmd.DeleteObject acTable, "TableName2"
DoCmd.Close acForm, "DeleteTable"
End Sub
I use this to delete import error tables