aggiornamento: ebbene sì, la routine che ad ogni ciclo del timer incrementa la memoria occupata di quasi 200Kb è proprio quella:

TestAA = Process.GetProcessesByName(xxx)

ho provato a bypassarla con un exit sub e la memoria si è stabilizzata

una seconda routine successiva che controlla se il programma, se aperto, è in primo piano:

If GetForegroundWindow() = FindWindow(vbNullString, "xxx")

incrementa invece ad ogni passaggio del timer la memoria occupata di una ventina di bytes

entrambe le cose in VB6.0 non succedono... mah