Основное место, где я использую этот прием, - это создание контейнера для сбора анонимных типов.
public static List<T> CreateListOfAnonymous<T>(T unused) {
return new List<T>();
}
Использование:
public void Foo() {
var list = CreateListOfAnonymous(new { Name = String.Empty, Age = 42 });
list.Add(new { Name = "foo", Age = 28 });
}