Invocar desde diferentes hilos

No puedo creerlo, esto funciona en mi otra aplicación, pero en esta, que tiene una estructura similar, ¡no es así!

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

Como lo llamo:

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

Si lo llamo desde la función donde recibo el paquete (quiero ponerlo en la lista Ver) a través de TCP - No pasa nada, pero si lo llamo en la misma clase donde inicializo WinSock - funciona.

¿Dónde podría estar el problema?

EDITAR Acabo de depurar la aplicación, formz es nulo en el lugar donde lo llamo (función de recepción). ¿Por qué es nulo allí, pero no en ningún otro lugar?

Respuestas a la pregunta(3)

Su respuesta a la pregunta