If it was just one drawing I would do the usual purge, audits and so on and like mhupp just copy to a new drawing and replace the bad one, you can also wblock the drawing which is a common solution. Creating a LISP for just one drawing is a bit of overkill unless someone has something already written.
Remember to select the objects mouse top left to bottom right and not the other way else you might still get these rogue objects.
If not you can look into the blocks you want to keep, there might be one of them that references these 'ghost' elements, - could try delete the block, purge and insert a new version
... but for a one off drawing writing and checking a LISP routine sounds like a lot of work