com.arsdigita.ui.login.UserInfo stores content centers and site nodes in member variables (m_contentCenters and m_centerSiteNodes). The code that populates these member variables is done on demand and inline with the request's transaction. If the transaction of the request where these member variables are populated is rolled back for any reason then the objects referenced from these collections become invalid and all subsequent requests to the UserInfo component fail with invalid data object errors.
It turns out that on the trunk this component causes an error on every request other than the first one because data objects are no longer disconnected automatically.