Capture of variables in lambda expressions in C#

Func<intint> MakeWallet(int sum) {
    return pay => sum -= pay;
}

var payFromWallet1 = MakeWallet(1000);
var payFromWallet2 = MakeWallet(500);
var balance = payFromWallet1(50);
//balans is 950

balance = payFromWallet2(70);
//balance is 430

balance = payFromWallet1(150);
//balans is 800