repo unit association does not always use generators, leading to OOMs
Repo association requires the user to pass in a list of filters when working with larger sets of units.
There are multiple areas in the repo association code path that use lists instead of generators. For example, RepoUnitAssociationQueryManager.get_units() has a "as_generator" flag that is not used during associations. This is one area that needs to be fixed, but there are a few other areas as well that can cause an OOM if given a large number of units without filtered fields. See  for more detail.
Repro info to cause an OOM: sync a repo with >10K units on a machine with 4GB mem, and attempt to associate all rpm units in that repo with a new empty repo without specifying field filters.