When a server is under memory pressure, the maintenance manager exclusively will look for the maintenance op that frees up the most memory. Some operations, like compactions, do not register any amount of "anchored memory" and effectively don't qualify for consideration.
This means that when a tablet server is under memory pressure, compactions will never be scheduled, even though compacting may actually end up reducing memory (e.g. combining many rowsets-worth of CFileReaders into a single rowset). While it makes sense to prefer flushes to compactions, it probably doesn't make sense to do nothing vs compact.