Simple Binary Search Tree
I don't quite understand why you'd use a ref here. 


public void insertData(ref Node node, int data)
{
    if (node == null)
    {
        node = new Node(data);

    }
    else if (node.number &lt; data)
    {
        insertData(ref node.rightLeaf, data);
    }

    else if (node.number &gt; data)
    {
        insertData(ref node.leftLeaf, data);
    }
}



Why not just return the node?

public Node insertData(Node node, int data)
{
    if (node == null)
    {
        return new Node(data);

    }

    if (node.number &lt; data)
    {
        return insertData(node.rightLeaf, data);
    }

    if (node.number &gt; data)
    {
        return insertData(node.leftLeaf, data);
    }
}




Your capitalization is consistent, but slightly confusing and non-standard. For example, both your private fields and public methods are camelCase. 


   public void insert(int d)
    {
        if (isEmpty())
        {
            root = new Node(d);
        }



This would be perfectly fine if you distinguished the field by using the this keyword or an underscore to make it look different from your methods. 

    public void insert(int d)
    {
        if (isEmpty())
        {
            _root = new Node(d);
        }


Or

    public void insert(int d)
    {
        if (isEmpty())
        {
            this.root = new Node(d);
        }


But like I said, it's non-standard. The standard is to use PascalCase for methods, camelCase for local vars, and _underscoredCamelCase for private fields. 

    public void Insert(int d)
    {
        if (IsEmpty())
        {
            _root = new Node(d);
        }