Where have i gone wrong with my script

#pragma strict

var maxFallDistance = -10;

function Update () 
{
	if (transform.position.y <= maxFallDistance)
	{
		if (isRestarting == false)
		{
		RestartLevel();
		}
	}
}

function RestartLevel() {
	isRestarting = true;
	GetComponent.<AudioSource>().clip = GameOver;
	GetComponent.<AudioSource>().Play();
	yield WaitForSeconds
	(GetComponent.<AudioSource>().clip.length);
	Application.LoadLevel("level1");
}

To be more clear these two lines

yield WaitForSeconds
(GetComponent.<AudioSource>().clip.length)

should be

yield WaitForSeconds(GetComponent.<AudioSource>().clip.length);

Reading your comment,
Basically you are referencing something in another function that is already destroyed after the scene is reloaded.