Ответ 1
System.TypeInitializationException
вызывается, когда статический конструктор генерирует исключение, а не в конструктор экземпляра. Исключения обычно генерируются в конструкторах экземпляров.
В стороне, нет ничего "неправильного" с ним больше, чем где-либо еще; обрабатывать исключения, которые вы можете восстановить правильно, и разрешить те, которые вы не можете пузыриться.