LeetCode: Validate Binary Search Tree C#
For the most part I agree with your code.  However there are a couple of things:

IsValidBST I think is redundant.  Anyone running this method already knows it applies to a BST.  I think just IsValid would be better.

Helper should have a better name, I think an IsValid overload would work and it should be private.

It doesn't make much sense to me to make an instance of this class.  The methods don't rely on anything internal to the class.  I would suggest making the methods static.

It could look something like this:

public class IsValidBSTclass
{
    public static bool IsValid(TreeNode root)
    {
        return IsValid(root, null, null);
    }
    private static bool IsValid(TreeNode root, TreeNode minNode, TreeNode maxNode)
    {
        if (root == null)
        {
            return true;
        }
        if (minNode != null &amp;&amp; root.val &lt;= minNode.val || maxNode != null &amp;&amp; root.val &gt;= maxNode.val)
        {
            return false;
        }

        return IsValid(root.left, minNode, root) &amp;&amp; IsValid(root.right, root, maxNode);
    }
}