Cleaning a filter only once every 3 months may be the elephant in the room.
I realize that cleaning filters is a pain, and why I never use canisters anymore, very user "un"-friendly to do maintenance on. But all that hidden gunk buildup over 3 months is like a baby farting out nitrates. I like to swish bags of bio-media in water change water at least once per week (more often if I remember) to get the gunk out of the water column. Since nitrate is invisible, out of sight is not gone, having that gunk in a filter is not removing it from the tank, its just sweeping it under the rug where it can secretly and efficiently send back large concentrations with every gallon sent back to the tank.
I realize that cleaning filters is a pain, and why I never use canisters anymore, very user "un"-friendly to do maintenance on. But all that hidden gunk buildup over 3 months is like a baby farting out nitrates. I like to swish bags of bio-media in water change water at least once per week (more often if I remember) to get the gunk out of the water column. Since nitrate is invisible, out of sight is not gone, having that gunk in a filter is not removing it from the tank, its just sweeping it under the rug where it can secretly and efficiently send back large concentrations with every gallon sent back to the tank.