Why is my function not correctly functioning?

I have made a very simple class in c#, however this.amount at the end remains at 10, when it should be 0. I have no clue why it is not changing, since I have seen very similar examples where the numbers did change correctly.

There are no error messages at the moment. What am I missing?

class Test 
{
    public static void Main(string[] args) 
    {
        Tick tick = new Timer();
        for(int i = 0; i < 10; i = i + 1) 
        {
            tick.Run();
        }
    }
}

class Timer : Tick 
{
    public int amount;

    public Timer() 
    {
        this.amount = 10;
    }

    public void Run() 
    {
        this.amount = this.amount - 1;
    }
}

interface Tick 
{
    void Run();
}

I am testing this in a app designed by my school, what I posted on top here is 1 on 1 what I've got in front of me, and on the right there is information on the value of all variables after execution. It says at the end that this.amount equals 10 at the end, when it should be 0.