In WFS 1.1.0 a global GML3 based schema is build and cached the first time we need to encode something in GML3. The build schema will use all the available feature types in the catalog and will be updated only when certain changes happen in the catalog.
The main issue with this solution is that if the first request that requires a GML3 encoding limits the scope of the catalog (e.g. virtual services) the build and cached schema will only support those types. Consequences of this issue have already been reported:
To fix this issue we could follow the same approach used in WFS 2.0.0, were we don't cache a global schema but instead we build a specific schema for each request using only the necessary feature types.
The performance penalty should be negligible, but in any case the performance penalty needs to be measured and special attention should also be pay to the memory usage (possible memory leaks due to the dynamic schemas).