Tak to pole statyczne klasy A.
Rozumiem, zasadę działania GC, że odpala się kiedy chce (ma zestaw reguł), jednak gdy do obiektu nie ma referencji to jednak kiedyś zostanie tam usunięty. Ja z kolei znalazłem taki kwiatek, jak podałem, obiekt klasy A, jest systemowym watcherem na katalog i teraz mimo, wyjścia z metody inicjalizacyjnej obiekt, klasy Foo, żyje, a obiekt SA wyzwala w nim pewne metody (przez eventy) i te metody działają ... Ale doszedłem do tego dlaczego chyba - wynika to z faktu, że metody tej klasy używają jedynie parametrów, stałych i zmiennych globalnych systemu, nie używają natomiast nic z pól obiekty, więc podejrzewam, że obiekt klasy Foo jest usunięty, jednak obiekt SA wyzwala same metody, które nie są dowiązane do obiektu - przynajmniej w C++ da się wywołać metodę klasy bez powoływania jej obiektu. Ktoś tutaj zrobił sobie chyba pseudo singleton, wiec przerobię to na prawdziwy singleton, ale powiedzcie, czy taka sytuacja może mieć miejsce ??
Dla jasności stawiam hipotezę:
"Obiekt klasy Foo zarejestrowała obiektowi SA swoją metodę jako event, po wyjściu z metody Inicjalizacyjnej GC usunął obiekt klasy Foo, ale SA wywołuje nadal metody Foo, gdyż nie zależą od żadnych niestatycznych pól tejże klasy"