Performance improvement on SQL query joining table on itself
You are doing the entire delete in one transaction that will possibly bloat your transaction log and it will crawl like a sloth.

There is a much better way of doing a delete - break it into chunks or you can do deletes using Careful Batching.

Also, its always a good habit to refer objects with their schema.