You can't disable GC. You can only try to avoid creating too much garbage.
So what's garbage? - you may ask. It's the stuff you don't need anymore.
In C/C++ and a lot of other languages you have to allocate and deallocate memory for yourself. Sounds like fun - but it's a lot of work and usually it produces a lot of errors and so called "memory leaks" (if you forgot to delete/deallocate memory it's marked as "in use" and can't be used till the next reboot).
In Jave deallocation is done automatically by the GC. Unfortunately the whole world is stopped as long as the GC has something to do.
The only thing wich helps a bit is avoiding garbage where it's possible. You can create a "pool" of objects wich you reuse till the end of the program (Yes. Recycling avoids garbage
The GC kicks in every here and then... if there is a lot to do it will take awhile and if there's nothing to do you won't even notice it.
Well the loosing of events sounds quite seriously... that shouldn't happen ever :-/