Ответ 1
Интересная статья о том, что здесь. Оттуда...
... [B] y гарантируя, что члены не меняя, мы гарантируем, что хэш константа для времени жизни object.This позволяет анонимным типам использовать с такими коллекциями, как hashtables, не теряя при этом когда члены изменены. Существует много преимуществ неизменность в том, что он радикально упрощает код, который использует объекта, поскольку они могут быть назначены только значения при создании и затем просто используются (подумайте о потоке)