Привет!
Первое, .net языки транслируются в промежуточный язык (IL) при компиляции. То, что можно написать на F#, можно так же написать на C#, разницы не будет никакой. F# выбирают лишь из-за синтаксиса (кому он нравится).
То есть на F# вы будете писать в функциональном стиле, но это не даст никаких преимуществ перед c#. Lisp и F# так же некорректно сравнивать, у них разные компиляторы и разные механизмы обработки. Если есть желание, попробуйте функциональные языки, вроде lisp. Утверждение, что за ним будущее, спорное. В энтерпрайзе применяют c# и java. И будут применять в будущем.
Второе. Для параллельных вычислений не обязательно писать на функциональных языках. Параллельные вычисления не сложно делать и на c#, но, как уже сказали, далеко не все операции можно распараллелить, это не зависит от языка. А иногда этим и не нужно заниматься. Например, веб программирование. Сервер имеет свои механизмы распараллеливания, он обрабатывает одновременно много различных запросов от пользователей. При этом со стороны программиста не нужно писать что-либо, касаемое параллельности.
Запрос от пользователя - валидация данных - запрос в базу - упаковка ответа - возврат ответа. Чисто теоретически можно распараллелить отдельно взятый шаг, но зачем? Не факт, что это прибавит производительности.
Для информации, вы спрашивали, посмотрите лямда-вычисления на c#