Intantiated objects deleting themselves automatically.

I have a script which instantiates object(land) like to create a infinite land in one direction, here is the script.

var land : GameObject;

function Start () {

}

function Update () {

}

function OnTriggerEnter(other : Collider)
{
	if(other.tag == "Player")
	{
		var landins = Instantiate(land, Vector3(0,0, transform.position.z + 10), Quaternion.identity);
		landins.name = "Land";
	}
}

function OnTriggerExit(other : Collider)
{
	if(other.tag == "Player")
	{
		Destroy(gameObject);
	}
}

It works perfectly awesome, but after some time(Infact after exact time or to say at a exact location) this script stops working, i.e. it stops instantiating objects and automatically deletes obejects it has instantiated except the last one.

I cant figure the problem itself.

Note - My Scene is completely empty it only has a land block and player.

EDIT - i somehow figured out what’s happening at the last block(at z co-ordiante 450) instead of instantiating next block at 460 it is instantiating the block at 450 itself, which is causing this problem. any ideas, why?

Conclusion I Reached - First when i start from z-cordinate 0 than i am able to reach 450 before if stops spawning the next at more distance, second, if i start at 450, i am able to reach 2300 Z-axis but it stops at 2300 z-axis as at it stopped at 450.

hmm, i think its due to the initial speed, if i start the player with the speed 0, and then increment it like a car, then everything’s work fine, however if i preset the speed, to something greater than 5 or 10, then it causes a bug at 450 co-ordiante and nearby per increase/decrease in speed, so i think initial speed was the problem, i will check again after adding some more entities… to check if it’s still the problem or not.

thanks for suggesting the hints by the way