Я предполагаю, что метод Finalize StreamWriter закрывает основной поток (поэтому в следующий раз через цикл вы не сможете записать в этот MemoryStream).
Я думаю, что вы можете решить эту проблему, поместив блок «using (StreamWriter sw = new StreamWriter (ms))» вокруг всего цикла. В любом случае это, по-видимому, более эффективно, чем каждый раз создавать новый StreamWriter.
В любом случае, если вы просто пишете текст, может быть лучше сделать что-то вроде:
StringBuilder sb = new StringBuilder();
for (int k = 0; k < 10; k++)
{
sb.Append(k.ToString());
if (k + 1 != len) sb.Append(" ");
}
blob.UploadText(sb.ToString());
Или (для этого конкретного использования), придумайте. :-) (полностью не проверено):
blob.UploadText(string.Join(" ", Enumerable.Range(0, 10).Select(k => k.ToString()).ToArray()));