I’m considering learning a Lisp dialect (probably Scheme, since I am constantly hearing how good of a learning language it is) in order to improve my general programming skill.
Apart from the fact that learning any new language helps you to be a better programmer in general, how can learning Lisp make me a better C# programmer?
I think the best you can gain from studying a functional language is starting to think in a more declarative, less imperative way. That will lead to writing more readable, maintainable and composable code.
Another thing you learn when you go functional is the importance of pure functions, i.e functions without side-effects.
And because C# has been getting more and more functional and declarative features like closures (aka lambdas) and LINQ, you can understand programming with those constructs better. I had no trouble understanding deferred execution, the most common LINQ pitfall, because I already grokked Haskell, a lazy-evaluated functional language.