Did you spawn new GameObjects from OnDestroy? (C#)

How do I stop the instantiated versions of my restart gameObject from appearing when I reload the level?

Restart gameObject:
using UnityEngine;
using System.Collections;

public class Restart : MonoBehaviour 
{
	public float Lifetime;

	void Start ()
	{
		StartCoroutine (restart(5.0f));
		Destroy (gameObject, Lifetime);
	}

	IEnumerator restart(float delay)
	{
		yield return new WaitForSeconds(delay);
		Application.LoadLevel (Application.loadedLevel);
	}
}

Player Controller Script:

using UnityEngine;
using System.Collections;

public class plcont1 : MonoBehaviour
{
	public float maxSpeed;
	public float michaelJordan;

	public GameObject[] Restart;

	bool facingRight = true;
	
	void Start () 
	{}

	void FixedUpdate () 
	{
		float move = Input.GetAxis ("Horizontal");
		
		rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
		
		if (move > 0 && !facingRight)
				Flip ();
		else if (move < 0 && facingRight)
				Flip ();

		if (Input.GetKeyDown ("space"))
				rigidbody2D.AddForce (Vector2.up * michaelJordan);
	}

	void Flip ()
	{
		facingRight = !facingRight;
		Vector3 theScale = transform.localScale;
		theScale.x *= -1;
		transform.localScale = theScale;
	}

	void OnDestroy ()
	{
		GameObject restart = Instantiate(Resources.Load("Restart")) as GameObject;
	}
}

You should add DestroyObject in your restart script because your’re instantiating another restart GameObject
IEnumerator restart(float delay)
{
yield return new WaitForSeconds(delay);
Application.LoadLevel (Application.loadedLevel);

     DestroyObject (this.gameObject);
 }

I figured it out for myself after some messing around and using the useful advice from @KayelGee

restart:
public class Restart : MonoBehaviour
{

	void Start ()
	{
		StartCoroutine (restart(5.0f));
	}

	IEnumerator restart(float delay)
	{
		yield return new WaitForSeconds(delay);
		Application.LoadLevel (Application.loadedLevel);
		DestroyObject (this.gameObject);
	}

}

Player Controller:

public class plcont1 : MonoBehaviour
{
	public float maxSpeed;
	public float michaelJordan;

	public GameObject[] Restart;

	bool facingRight = true;
	
	void Start () 
	{}

	void FixedUpdate () 
	{
		float move = Input.GetAxis ("Horizontal");
		
		rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
		
		if (move > 0 && !facingRight)
				Flip ();
		else if (move < 0 && facingRight)
				Flip ();

		if (Input.GetKeyDown ("space"))
				rigidbody2D.AddForce (Vector2.up * michaelJordan);
	}

	void Flip ()
	{
		facingRight = !facingRight;
		Vector3 theScale = transform.localScale;
		theScale.x *= -1;
		transform.localScale = theScale;
	}

	void OnTriggerEnter2D(Collider2D other)
	{
		if (other.gameObject.tag == "Pldie")
		{
			GameObject restart = Instantiate (Resources.Load ("Restart")) as GameObject;
		}
	}
}