My experience is that the default value of the σ argument in FindPeaks can be too large. If so, then that's why forcing σ to 0 helps.
Unfortunately, 0 may not always be an appropriate value, so I adjust σ as needed, with this limitation in mind. Sometimes no satisfactory value will work.
I consider this to be a serious bug in FindPeaks. This function either shouldn't fail with larger values of σ, or it should fail more gracefully. Instead, the circumstances of failure can seem somewhat arbitrary, and the resulting error message is obtuse and unhelpful.