The point about the CRC being only slightly off is that usually a
change in the data-set produces a much larger variation. It could be
only a single bit or two near the end.
The point about stress-testing the CPU/RAM is to validate that those
are known clean in as close to a high-temp real load environment as
possible.
That would then point to corruption on the cables or drives. Which
you can diagnose more easily individually instead of as part of an
array.