My answer would depend on what languages your colleagues already know and your organization's application domain.
Here's a strategy I've used with programmers coming from a procedural programming environment (e.g. COBOL, C, VB): Take a small program task couched in terms of their application experience, and start with a "brute force" procedural solution in C#. Then, as you introduce each new concept specific to C# (OO, LINQ, etc.) challenge them to see how that concept can simplify/streamline the procedural code, increase its maintainability, flexibility, testability, etc.
At the end of a series of presentations, you've evolved the program from a a design they might initially recognize into one that uses the kind of new design thinking and language features you wish to encourage. This allows them to see the rationale and contribution of each concept you've introduced.