I have developed a VB.NET GP tool by implementing the IGPFunction2 interface. It worked great in ArcGIS 9 and not so well in ArcGIS 10. The problem is that when geoprocessing background processing is enabled, I cannot get my tool to add a derived feature class layer to the current map. I am using GPUtilitiesClass.GetMap() to get the map and adding the layer to it. This works with background processing disabled, so I conclude that objects created in one process cannot be used by another. How can I get around this problem?