App domain is not really relevant here. But if your curiosity is killing you: http://msdn.microsoft.com/en-us/library/ms173138(v=vs.80).aspx
The fact of the matter is, a static constructor will either be called zero times or once; but never more, per run of any application.
A static constructor gets called the first time a class is referenced when an application runs. Unless you restart the application, it will never be called again. If the class is never used, the static constructor will never be called.
So basically, the behavior you are describing in your question makes perfect sense. The page object will get reloaded every time, but the static constructor will only be called once.