I'm not an expert, but I also tend to think wpa_supplicant may be the culprit: when the roaming happens, and I just wanted to use iwconfig and dhclient3, I did "killall NetworkManager", but the device kept roaming (I'm not sure whether the roaming was still logged, but looking at "watch iwconfig eth1" showed it was roaming. Doing a "killall wpa_suplicant" (NetworkManager still not running), makes the roaming stop.
I'm not an expert, but I also tend to think wpa_supplicant may be the culprit: when the roaming happens, and I just wanted to use iwconfig and dhclient3, I did "killall NetworkManager", but the device kept roaming (I'm not sure whether the roaming was still logged, but looking at "watch iwconfig eth1" showed it was roaming. Doing a "killall wpa_suplicant" (NetworkManager still not running), makes the roaming stop.