Invoque a partir de threads diferentes

Não acredito, isso funciona no meu outro aplicativo, mas neste, que tem estrutura semelhante - não funcion

    public string ListAdd
    {
        set
        {
            if (listView1.InvokeRequired)
            {
                this.Invoke((MethodInvoker)delegate
                {
                    listView1.Items.Add(value);
                });
            }
            else
            {
                listView1.Items.Add(value);
            }
        }
    }

Como eu chamo:

        var formz = Form.ActiveForm as Form1;
        if (formz != null)
            formz.ListAdd = "asdasdasdasd";

Se eu chamá-lo da função em que recebo o pacote (quero colocá-lo no listView) por TCP - nada acontece, mas se eu chamá-lo na mesma classe em que inicializo o WinSock - ele funcion

Onde poderia estar o problema?

EDITAR Acabei de depurar o aplicativo, formz é nulo no local que eu chamo (função de recebimento). Por que é nulo lá, mas não em qualquer outro lugar?

questionAnswers(3)

yourAnswerToTheQuestion