Hello,
As you can see on reference manual, the TC bit does not provide a reliable indication that the transfer is complete. Under some conditions, the TC interrupt can occur before the transfer is completed. If the TC bit is used as an interrupt source, the XCH bit should be polled after the TC interrupt occurs to accurately confirm that the transfer is complete. So, to be sure the last bit has been shifted out It is needed to use the delay.
Other way to check a complete transferred data, you can fill FIFO register with zeros (or other value), and by the behavior of ECSPI, if the FIFO is not full, the port will repetitively transmit zeros until new data is written to the FIFO.
Please check the FIFO behavior on attached file to use it as a background for the process to check a complete transferred data.
Best regards.