This is because your accessor is infinitely recursive, causing a stack overflow.
Change this:
get { return Level; }
For this:
get { return Level; }
This is actually a fairly common thing in Visual Studio C #, it is very annoying, the autocomplete function always prefers the accessor name over the member name, even if you are in the accessory itself. I realized that after 5 years, Microsoft has already fixed it.
EDIT: n / m I see you have already come to that conclusion in your own question. I guess I should read everything first, I jumped from a pistol.
source share