I think the problem is that you put the firing controls in the bullet object itself so it's continuing to take input even though you don't want it to. Instead try moving the controls to whatever object is firing the bullet and then you can pass the vector to the bullet when its instantiated or pulled from the object pool.
Hope that helps.