Okay, that makes sense. The decay timer still runs inside fish traps. For a stack of fish to resist the decay, the trap needs to produce fish of the same type at a rate that is faster than the decay rate, on the average.
So, there are four factors in play: 1) the decay time of a particular type of fish, 2) max stack value for a particular type of fish, 3) the production frequency, and 4) the number (and weighting) of options in the trap’s production algorithm.
It used to be fine, because there were only 3 options before and the production timer would produce new fish faster than the decay timer would get rid of them.
Now, the situation is different. The production timer is the same, but there are 8 options instead of 3, and the buff fish have a shorter decay timer and a lower max stacking. So it’s quite possible for a whole stack of buff fish to decay before the production timer fires again and selects that same fish type to produce.
Whether this is a bug or not is something that could be hotly debated, but it doesn’t matter, because even if it was classified as a bug, it would receive low priority because the workaround is “don’t wait so long to harvest your fish”.