Ninho, tudo depende de como você precisa deste processamento, e de quantos processamentos você precisa fazer ao mesmo tempo, do tamanho dos arquivos, etc.
Se você não vai ter muitos arquivos sendo processados em paralelo, você pode trabalhar com a Task Parallel Library, ou mesmo utilizar PLinq.
Caso você não precisa do resultado deste processamento imediatamente, minha sugestão seria utilziar processamento em background com filas (como Msmq ou rabbitmq).