For me, I weigh several different variables, dependent on the person involved.
First, I look for whether there's a toxic PATTERN to their behavior. There's a clear difference between someone exhibiting a pattern of awful behavior versus someone who just messed up occasionally.
Secondly, I look for their reaction when I speak up for myself (regarding what they said/did). If they're willing to have dialogue, or even express to me where they're coming from, then I won't jump to the extreme of cutting them out of my life. If, on the other hand, they dig in their heels and won't concede any of my points -- then that's a red-flag that I'm wasting my time/energy with them.
Finally, I tend to give more leeway to people with whom I feel a greater affinity. For example, if someone whom I hold in high regard lets me down when it comes to their behavior, I might be more generous insofar as giving them second (or third or fourth) chances. This, of course, also depends on the content or magnitude of their behavior.
Conversely, if someone for whom I have very little affection shows me those toxic sentiments...I have less of a long-term "bullshit tolerance" for them, even if I do make a good-faith effort to try to understand where they're coming from.