From documentation (MSDN [^
A static constructor is used to initialize any static data, or to perform a particular action that needs performed once only. It is called automatically before the first instance is created or any static members are referenced.
Your instance constructor (i.e. the non-static one) is called after
the static one and hence it alters the static member content.