Why won't invoke work in my script to delay the scene change?

Begin Waiting gets printed to the console.
After Waiting does not.
I just want to make it so that an explosion animation will be played when the player is destroyed before the game goes to the GameOver Screen.

void OnCollisionEnter2D(Collision2D other)
    if (other.gameObject.tag == "Player")
        Instantiate(explosionAnimation, other.gameObject.transform.position, other.gameObject.transform.rotation);
        Invoke("DelayedAction", 1f);
        Debug.Log("BEGIN WAITING");

void DelayedAction()
    Debug.Log("AFTER WAITING");

In your code you have Destory(this.gameObject) if you doing that it won’t have time to finish the code. Thats why you’re not seeing the after message