Invoke Doesn't Work

void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.tag == “fly”)
{
if (true) {
Destroy (this.gameObject);
effect.instance.Enterplayer (transform.position);
soundhelper.instance.MakeDeathSound ();
Invoke (“Over”, 3.0f);
}

	}
}

 
void Over()
{
	Application.LoadLevel ("over");
},

This line:

if (true) 
{
  Destroy (this.gameObject);
}

destroys the the object for which you are Invoking the function " Over()", that is why it is not being invoked. You can’t invoke function from/in a script/object that has been destroyed.