An OpenAccess persistent object can be managed by only one context at the same time. That is why you are getting those errors - the objects retrieved from the first context are bound to it and adding them to the second context is not allowed.
This could work if the objects are "detached" from the first context but unfortunately there is no such functionality in the OpenAccess' API, it is still on our TODO list. A possible solution at the moment is to serialize (and then deserialize) the objects to a memory stream, this way they will loose their context information. However, this approach seems harder to implement and more error-prone than the one you are currently using.
All the best,
the Telerik team