See CodeGenAsyncSpillTests.SpillSequences1. It evaluates the array twice before the await call, when only one array evaluation/index is required to ensure that any null reference/index out of bounds exceptions are raised at the right point.
#80093 (comment).