Cyanobacteria is widely considered to be the first actual life on the planet. It is also one of the most successful forms of life. It successfully grows everywhere from Antarctica lakes to the Tropics. It's one of the first forms of life to colonize the bare rocks after volcanic activity. It spreads through air borne spores released from the soil, drainage ditches, sewers, rain gutters, essentially anywhere with moisture and nutrients. If you have had a tank set up with water, fish and light, for any period of time, then you have cyanobacteria. You may not have problem amounts, most don't but it's there. In a properly run planted aquarium, its quite likely you won't be aware of it even being there unless you use a microscope.
Erythromicin is a medication, an antibiotic, a drug that should be treated with the same respect any drug is. This should not be used as a first line of defense against BGA. All other methods should be attempted first. I've had BGA outbreaks before, they were eliminated (within a month) by cleaning the tank and filters, implementing proper fert routines and manual removal and trimming. I've never used EM. Hydrogen peroxide is just as effective against cyanobacteria as it is against the bacteria in cuts and scrapes. In water it breaks down within minutes to water and hydrogen ions. If EM is used, it should be removed from the tank via carbon which is then properly disposed of. It shouldn't be "poured" down the kitchen sink. No drug should be. Waste water treatment plants for the most part aren't equipped to deal with them and there are proper disposal methods available. Have the same respect for the environment that you do for your aquarium.
The misuse, overuse, and outright abuse of these drugs has led to the elimination of over the counter sales in Europe. I'd rather not see the same thing happen in North America.