Мне кажется, полезна будет возможность использовать initializer block после любого выражения, возвращающего объект, а не только после операции new. Это особенно полезно при использовании DI-контейнеров, которые, вроде как, логически замещают new, но полного синтаксиса не предоставляют.
Например, так:
var o = container.Resolve<MyObject>()
{
Field1 = 7,
Field2 = "hello world"
};