Thank you so much for the kind comment and the feedback!
Yes, I know the problem you are talking about, I'm planning on fixing it! It's because the bullets are all KinematicBody2Ds using move_and_collide (instead of, say, Area2Ds using set_global_position), and because they are all instanced and freed every time they are shot, when they could be reused instead for future shots.
Thank you for playing!