You don’t.
Garbage collection and memory leaks
Garbage collection referes to reclaimation of memory that was allocated but is referenced no more, therefore it may be freed for further use. When LuaVM no longer holds a strong reference over an object and the object is disconnected from the data model, the engine garbage collector may clear it. I recommend reading Hexcede’s post for more details.
Garbage collection and memory leaks are terms that are in Luau usually referred to in conjunction with something tangible, something Luau works with, like Instances, RbxScriptConnections, tables, functions, coroutines etc.
Particle emitters
The particles are handled by the engine for the most part. All a ParticleEmitter provides are sets of properties and functions to control their appearance and flow, but the particles themselves cannot be referenced, they do not appear as objects in workspace, and they are not returned by any provided functions.
Particles spawn, stay around for their lifetime, and vanish. Don’t worry about the memory. They are not invasive. If you study memory usage in dev console you’ll see that it slightly increases with the number of particles but hardly in the overall scheme. They can much more likely impact rendering than cause memory issues.
Apparently the allocated memory stays occupied until the emitter is destroyed. It may increase but not decrease, even if we :Clear().