Tipos de Blob de armazenamento do Azure (CloudBlobContainer, CloudBlobClient etc.) e segurança de encadeamento

Estou desenvolvendo um aplicativo azul que precisa, em algum momento, carregar (baixar) uma grande quantidade de pequenos blobs em um único contêiner (mais de 1k blobs, menos de 1 Mb cada). Para acelerar esse processo, eu gostaria de usar vários threads para carregar (baixar) blobs.

Esta é a rotina que eu uso para fazer upload de blob único:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer blobContainer = 
    blobClient.GetContainerReference(ContainerName);
blobContainer.CreateIfNotExist();

CloudBlob blob = blobContainer.GetBlobReference(Id);
blob.UploadByteArray(Data);

Para cada tipo usado no código acima, o MSDN diz o seguinte:

Qualquer membro público estático (compartilhado no Visual Basic) desse tipo é seguro para threads. Não é garantido que nenhum membro da instância seja seguro para threads.

Isso significa que eu preciso executar o seguinte código em cada thread? Ou talvez eu possa executá-lo apenas uma vez e compartilhar uma única instância do CloudBlobContainer entre diferentes threads?

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer blobContainer = 
    blobClient.GetContainerReference(ContainerName);

Ficaria muito feliz em usar uma única instância do CloudBlobContainer em diferentes threads, caso contrário, seriamente atrasa todo o processo de upload (download).

questionAnswers(1)

yourAnswerToTheQuestion