In recommender systems, how to avoid recommending a product that the user has just bought?
Interesting, so yeah I assume you can find out the time between purchases within category from your data. Some random ideas:

The simplest answer I can think of is to find the mean time per category and use that as the threshold. Empirically, it's the point at which customers are more likely than not to have bought again.

That's fairly binary, just removing all recommendations from a category. You could imagine, say, keeping 20% of the top recommendations in category A when the cumulative probability of enough time having elapsed is 20%. Or factoring it into a scoring function, and multiply by this probability and then rerank. (That is, there's an 80% chance not interested at all, and a 20% chance interested as usual.)

To do that you'll probably need to fit a distribution, and Weibull seems attractive. As a generalization of exponential, which can be thought of time between events like purchases where the rate is constant, it can accommodate a rate that increases over time. That is, the rate of repurchase starts off low and increases.

Both of those are too pessimistic as you more want to assess when they're as willing as ever to buy again, not so much buy again, which may be pretty infrequent in your data. Perhaps you model the rate of purchase per category among those who have and have not purchased in the category and empirically figure out when the rate goes back to similar.