I predict that the C# 4 “dynamic” keyword will be the most abused feature.
It will be used for everything from ducktyped dependency injection, dynamic dictionaries and about a million Rails like frameworks.
All in a very non refactor friendly way.
…It will rarely be used to interop with dynamic .NET languages.
The least used will be the co/contra variance feature.
In 2011 not even the C# team will remember it exists.
The most frustrating feature will be code contracts.
Developers will cry out in pain when they realize that it might not be so easy as they expected it to be.
I’m just guessing :-)