The Reference Source page for stringbuilder.cs has this comment in the ToString method:
ToString
if (chunk.m_ChunkLength > 0) { // Copy these int
In the CoreCLR repository you have a fuller quote:
Copy these into local variables so that they are stable even in the presence of race conditions
Github
Basically: it's a threading consideration.