OnCollisionExit2D not getting called?

Hello,
While trying to make a pretty simple game for my friend, I encountered an annoying problem.
My problem is that OnCollisionExit2D just isn’t getting called when my player stops touching the ground, but OnCollisionExit2D works with other objects. I’ve done some research, and found the common solution of adding a Rigidbody2D to the ground, but that didn’t work.
Here’s my setup:
Ground game object:
Ground game object
Player game object:
Player game object

Player collision methods:

void OnCollisionEnter2D (Collision2D collision)
		{
				Debug.Log ("Enter: " + collision.gameObject.tag);
				if (collision.gameObject.tag.Equals ("Ground")) {
						touchingGround = true;
				}
				if (collision.gameObject.tag.Equals ("Obstacle")) {
						collision.gameObject.GetComponent<ObstacleScript> ().moveObstacle = false;
						gameOver = true;
				}
		}

		void OnCollisionExit2D (Collision2D collision)
		{
				Debug.Log ("Exit: " + collision.gameObject.tag);
				if (collision.gameObject.tag.Equals ("Ground")) {
						touchingGround = false;
				}
		}

Output in console:

Enter: Ground
(Exit: Ground supposed to be here)
(Enter: Ground supposed to be here)
Enter: Obstacle

If you need any more information, please ask.

Thank you,

SeeSharp.

Check for equality using ‘==’ operator.

So the code will become:

void OnCollisionEnter2D (Collision2D collision)
    {
        Debug.Log ("Enter: " + collision.gameObject.tag);
        if (collision.gameObject.tag == "Ground") {
        touchingGround = true;
    }
    if (collision.gameObject.tag == "Obstacle") {
        collision.gameObject.GetComponent<ObstacleScript> ().moveObstacle = false;
        gameOver = true;
   }
}
 
void OnCollisionExit2D (Collision2D collision)
    {
        Debug.Log ("Exit: " + collision.gameObject.tag);
        if (collision.gameObject.tag == "Ground") {
        touchingGround = false;
    }
}