A lot of people on the unity forums and subreddits have been talking about performance improvements using a flat hierarchy instead of nested game objects for dynamic game objects. Have you looked in to any of this? Also does pool boss require the child parent relationship or does pool boss use a list to store it's prefabs?
If we didn't child all the pool boss clones under "pool boss" there could be thousands of game objects in the top level. From an organizational point of view that's just unacceptable and will slow down the process of making and debugging your game.
The nested-ness is not required but we do it for organizational purposes. I believe the clones are stored as a hash table of lists.