100 items should be very quick to manage, but if you do something in between each "get item", then there lies the issue. Creating an object, just like destroying one, shouldn't be abused.
It's much better to pool objects, creating instances from a prefab at loading.
You should have a step in your application's initialization where you create a pool of instances that you will activate or deactivate at will. It's also much better to use pools for memory management.
If you have a very dynamic system, you'll create your pool full of instances at runtime, during the application's launch, but if you need a few instances, you can create them manually and save them "as is" inside your scene.
The few systems that I know of that are good at managing creation of elements on the fly are Unity's Shuriken system (particles), but outside of this, use tailored pools of instances.