OnCollisionExit problem

I have two cubes (player and Block) that collide with each other. When the “Player” cube collides with “block” it can jump. After it is skipped I would like to destroy the “Block” cube. This is my current code:

void GetInput()
    {
        if (Input.GetMouseButtonDown(0))
        {
            if (currentState == PlayerState.Stading)
            {
                Jump();
            }
            else if (currentState == PlayerState.Jumping)
            {
               StartCoroutine(Smash());
            }
        }
    }

    void Jump()
    {
        rb.AddForce(0, jumpSpeed, 0);
        currentState = PlayerState.Jumping;
        bc.enabled = false;
    }

    IEnumerator Smash()
    {
        currentState = PlayerState.Falling;
        rb.isKinematic = true;
        rb.velocity = new Vector3(0, 0);
        yield return new WaitForSeconds(0.5f);

        rb.isKinematic = false;
        rb.velocity = new Vector3(0, -smashSpeed);
        bc.enabled = true;
        yield break;
    }

    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.tag == "Block" && currentState == PlayerState.Falling)
        {
            currentState = PlayerState.Stading;
            rb.velocity = new Vector3(0, 0);
            Debug.Log(currentState);
        }
    }

    void OnCollisionExit(Collision other)
    {
        Destroy(other.gameObject, 0.1f);
    }

The collision is successful, but the code in “OnCollisionExit” does not work properly. Can you tell me where I’m wrong?
Thanks!

I think you are disabling the box collider when you jump. Isn’t that what “bc” is?