Správa sa to úplne konzistentne. Vstupnú triedu si môžeš nastaviť akú chceš, ale musí mať statickú metódu s názvom Main. Predvolene je vstupnou triedou trieda s názvom Program. Je to podobné ako v C++ - tam sa tiež hlavná metóda nemusí volať main. Neviem o akom druhom Main píšeš.
Áno, statická metóda v C# nemôže používať this a ani sa to neskompiluje.
Ten guláš je v pohode, ale od istej úrovne je skrátka lepšie použiť nejaký framework namiesto assembleru.