Hi there.
Instead of a long verbal description I prepared a little scene and a big gif 

using UnityEngine;
public class Trigger : MonoBehaviour
{
[SerializeField]
private int _counter;
private void OnTriggerEnter2D(Collider2D collision)
{
_counter += 1;
}
private void OnTriggerExit2D(Collider2D collision)
{
_counter -= 1;
}
}
As you can see I have a polygon collider which is a trigger and I count entries and exits of another collider. Somehow it appears that eventually the number of entries exceeds the number of exits.
I wonder why Unity triggers yet another enter of the collider if it’s already within?
Summoning @MelvMay in thread 
3148858–239273–trigger_enter_exit.unitypackage (2.93 KB)
I won’t let my question die in this abyss. So, bump.
Something tells me that @MelvMay is on vacation and that’s the reason why he’s keeping silence since the end of July.
Anyway I bump this thread just in case.
Could be the same problem as this bug recently reported: Unity Issue Tracker - OnCollisionExit2D isn't always triggered when using polygon/edge colliders and multiple collision points
If you want to submit your problem as a bug report, that would be super useful. Also QA will get a chance to hammer on it and try to narrow it down. If not, I’ll use your package as a test when I come to fix the above.
Ok, thanks. I’ll send the scene I used to capture the gif with a bug report.
Thanks. Might want to mention this thread in your bug report so that QA don’t just close it as a duplicate.
well… this “anomaly” is in unity since version 4.5 or even earlier. I know because it made me crazy and the development of one of my games to hell… With every new unity version I check if it’s fixed… Continuous instead discrete tracking might help, but this will still happen in rare occasions.
Note that this has been fixed and is being put in all versions back to 5.6 soon.
Thanks. Now I can get rid of my workaround.
It will land in 5.6.4p1, 2017.1.2p2 and 2017.2 (first patch).