Did you not do any yeast nutrient feedings every other day? That is key because the yeast get lazy just fermenting sugar. They need nutrients to keep going and finish.
Recently did a recipe for an imperial Porter with lots of dark grains which I held and added at with 20 minutes remaining in the mash.
I assumed grain would absorb about 2 gallons with the 17 lb grainbill. Ended up only absorbing 1-1/4 gallons.
Would holding back the dark grains be the cause...
And be aware that cleaning and sanitizing are tow different things. Star-San is a a sanitizer. PBW or an alkaline brewers wash are cleaners.
Clean, then sanitize.