1. О каком новом объекте Вы говорите? О переменной или о значении? Значение не новое, оно просто есть такое.
Вам же не приходит в голову считать, что при "var i = 1;" мы "аллоцировали новый объект"?
3. В крайнем случае выкрутиться можно всегда.
В нормальном если мембер и тип имеют одно и то же имя, это говорит о том, что в какой-то из разов было лень подумать, как правило.