Thank you for reporting a bug to Unity.
After reviewing the behavior, we've confirmed it aligns with the current design and intended use of the feature.
The project faces the infinite recursive instantiation:
1. SimplePool.Awake() calls Prewarm()
2. Prewarm() calls CreateInstance()
3. CreateInstance() calls Instantiate(prefab, transform)
4. Instantiated prefab has a SimplePool component, Unity immediately runs Awake() on the clone → which calls Prewarm() again → which instantiates again → repeat until Unity locks up.
We will close this case as 'As Designed.' If you have feedback on how the feature could better meet your needs, please let us know - we value your input and consider it in future improvements.