Per the user guide, section 4.2.5, the only way a page erase can fail is for a wrong address
"The flash IP core sets the erase successful field in the status register to 1b'0
(failed) if you send an illegal address. "
I have seen it fail, within 1us, and then successful with the exact same address. What would cause occasional page erase fails. A simple retry corrects the problem, so the exact same series of commands (and timings) cause it to sometimes fail. We have already checked the power supplies.