Differences C# / C#Rh / C#Gh



doing tests in C# both in Rh and Gh and excluding all the superfluous code possible, it seems to me that in this case by reducing it completely to the bone, I notice that the rules
highlighted in the link are different in both cases


in Gh I am forced to use this syntax

public class Script_Instance : GH_ScriptInstance
{
  private void RunScript(out object a)

while in Rh I am not forced to the word “Main”
but change to public instead of static as modifier

class Cls1
{
    public void Mtd1()
    {

there are discussions regarding these types of changes in new versions
or some links for documentation related to these?
Thank you.