While chatting with @mavasani we realized that if we're running full solution analysis and OOP is active, we still create in-proc Compilations for all the projects being analyzed before we send the request OOP to actually do the analysis. I think this mostly historical: when the "run it OOP" was added that was spliced in after the compilation was created, since the compilation is used if OOP is off. But with source generators now being a thing, creating a compilation that isn't going to be used is potentially extra wasteful, so this needs a bit of a refactoring.