Is Overlap Circle Supposed to return inactive colliders?

So I am using OverlapCircleNonAlloc to do damage to some other game objects. The OverlapCircle gets the colliders of the objects in the circle correctly the first time. I then disable the object because I eventually want to reset the objects. But when I do the overlap circle again it finds the disabled object.

        Physics2D.OverlapCircleNonAlloc(
                    ball.Position, 
                    triggerRadius,
                    results, layers.brickLayer
        );
        foreach (Collider2D col in results)
        {
            if (col != null && layers.brickLayer.LayerContains(col.gameObject.layer))
            {
                col.gameObject.GetComponent<Brick>().Damage(
                    ball.Position, 
                    DamageType.Lightning
                );
            }
        }

Is this a bug? Or is OverlapCircle intended to find objects that are not enabled.

Okay Turns out it was not directly related to the circle collider itself but the fact that I was using the “NonAlloc” version and it only overwrites the existing entries, I was assuming it was setting all the entries that it doesn’t use to null. So if it got only 1 result this time but 5 results last time, there wouldd be 5 results in the array since I didn’t clear/null the array entries first.

Solution:

Either do
results = new Collider2D[20];

or use OverlapCircle instead of OverlapCircleNonAlloc