Mvc retém valores após postback

Eu tenho uma classe TestController simples e modelo de usuário:

public class TestController : Controller
{
    public ActionResult TestAction()
    {
        return View();
    }

    [HttpPost]
    public ActionResult TestAction(User user)
    {
        return View();
    }
}

public class User
{
    public int Id { get; set; }

    public string Name { get; set; }

    public int Age { get; set; }
}

Esta é a minha forma:

Tanto quanto eu sei, o MVC é sem estado e não possui um conceito de viewstate. Mas depois de postar os dados no meu controlador e quando eu retornar a exibição, todos os meus dados estarão lá. Espero campos vazios, mas todos eles são preenchidos com os dados postados. Eu não conseguia entender como o MVC conhece os valores após o postback?

questionAnswers(2)

yourAnswerToTheQuestion