Прежде всего, вы не можете использовать его сейчас. Это часть C # 4, которая будет выпущена в будущем.
По сути, это объект, свойства которого не будут известны до времени выполнения. Возможно, это происходит от COM-объекта. Возможно, это «определение на лету», как вы описываете (хотя я не думаю, что есть средства для их создания или планирования).
Это скорее похоже на System.Object, за исключением того, что вам разрешено вызывать методы, о которых не знает компилятор, и что среда выполнения выясняет, как вызывать.