デリゲートとは直接関係ない
外部変数のキャプチャとか表現される機能
匿名メソッド/ラムダ式で外部の変数が使用される場合、
その変数はメソッドのローカル変数じゃなくてコンパイラが生成するクラスのフィールドになる
簡略化すればこんな感じ
class anonymous {
    public string value;
}
static void Main() {
    anonymous _user01 = new anonymous() { value = "" };
    StringHandler handler = delegate { return _user01.value; };
    _user01.value = "ABC";
    handler();
}