In the above code I am initializing all kinds of variables. Note the line

pObj.FncVariables(VarValueParam, ref VarRefParam, out VarOutParam);

I am calling the "FncVariable"s function which accepts value, referene and out type variables. Before calling the function all variables have value 10.
But after calling the "FncVariable"s function, value type variable remains unchanged but ref and out type variables changed.