It is computationally expensive to instantiate and destroy objects, such as bullets, that get re-used a lot. Its a lot more performant to instantiate them all and to keep reference and to recycle them ...