Phosphorus is a major contributor to the problem. Fertilizers used on farms often contain phosphorus, but excess may be washed away with snow melt or heavy rain. It is also found in sewage, which gets washed into the lake during heavy rains that overwhelm the treatment plants. This is a part of a process called eutrophication, which is a major issue in many lakes around the world. The cyanobacteria are much like plants, and the phosphorus is an essential nutrient to them as well. Then they bloom and the overgrowth causes us problems.
Zebra and Quagga Mussels, which are invasive species, are another factor. These filter feeders inadvertently help the cyanobacteria by eating the competition and excreting excess phosphorus into the water. They are a problem because their native predators are not found in North America.
Another factor is nitrogen, which is often washed into the lake with phosphorus, but can come from other sources. Not all of these sources are under our control, so it is important to understand that even if we stop polluting with nitrogen, there still may be some in the lake. This is because many Cyanobacteria species (for example Anabaena) can take nitrogen out of the air and make it useable for other organisms, including other, more toxic species. Microcystis uses the nitrogen in its defense system, but the toxin (microcystin) it produces is strong enough to hurt us.
Nitrogen can enter the environment through the burning of fossil fuels. Vehicles, industry and power plants all contribute to nitrogen pollution of the air, which can settle on the land and wash into the lake. This is something we can affect. Simple things like saving energy and using public transportation can help, but stricter policies regarding the overall use of fossils as fuel would of course be best.
More on The Nutrients