I had this problem for months - it even moved to a new iMac during migration.
In addition, both the original and new mac would not sleep according to the Energy Saver settings.
I *also* had problems with Time Machine backups occasionally never finishing.
After noticing in many posts the possible connection between Spotlight indexing and Time Machine I tried the following steps, which solved all 3 problems - and may be a solution for others. (I suspect there are multiple factors here, so not everyone may benefit).
NOTE: I had been using removable drives for offsite backup (allowing Time Machine to round robin between 2 of those and a Time Capsule.)
This meant the removables were frequently offline. I also have an external Thunderbolt drive I thought might be a factor.
Here is what I did:
- using System Preferences > Spotlight > Privacy, added the online drives (internal and external - not the removables) to the 'Prevent' (excluded) list.
- using System Preferences > Time Machine, removed the removable drives from the list of selected disks for backups.
- turned Time Machine OFF completely (temporarily).
- restart
- waited and noticed the Mac had started sleeping normally
- went back to Spotlight and removed the external drive from the 'Prevent' list
- waited noted that Spotlight indexed it quickly and correctly
- took a deep breath and removed the internal drive from the Prevent list, and waited...
- no "estimating" forever! instead, a progress bar and 30 minutes estimated time.
- within 30 minutes the internal was fully indexed and Spotlight was behaving.
- waited a while longer to see that Spotlight kept working, and the mac kept sleeping normally after wake-ups.
- finally turned Time Machine ON, with only the Time Capsule (no removables)
- successful backup right away, and everything has been fine for several days.
In any case, I suspect using removables with Time Machine - and having them go offline for weeks at a time while they were offsite - were a factor for me.
This is probably a fairly uncommon use case, and Apple may simply not have found the combination that causes problems... hopefully they are watching.
Hope this helps someone!