accourding to the engine, the invisible objects are used by engine and he reserve them some memory.
try to put a bullet sprite invisible and fire it, you will see that he do the job !
i'm not a Construct 2 developer, but i'm a programmer and i know that Construct 2 is a normal software that is built with a C++ or whatever language that uses variables or memory.
in coding languages, the compilators reserve memory for variables even not used by user.
In that case, they are actually used by the engine (something invisible still exists and still works the same way, as the name says, it is just not visible, nothing more nothing less). It concerns more destroyed objects that are recycled whenever possible so the browsers don t take too much time cleaning the garbage (since there is no control over that), which is why I suggested to do less work on invisible objects if he can