Unity can only have so much information at the same time, like everything with computer. You should destroy those bullets after some time, or even better, recycle them. Instantiate only around 20 and shoot them one after the other. Once you shot the 20th, you start again with the first. Instantiate can be expensive.
answered May 13 '12 at 08:41 PM
To destroy the bullet after a certain amount of time, the easiest way to do that would be to have a variable in your bullet script, call it "lifetime" or something easy like that. Then make a new function called Awake() and in there, just put Destroy(gameObject,lifetime); .
It'll look like this:
*Don't forget this does not go in the update function because it is a whole new function itself.
answered May 14 '12 at 02:31 PM