VerificationException: Invalid argument to ldvirtftn

VerificationException: Error verifying ItemSpawner:Spawn (): Invalid argument to ldvirtftn at 0x0087 ItemSpawner.Start ()

I got this error when using the following script. I can normally work out the messages, but this one got me. I’ve also googled it, but no help.

var ToSpawn : GameObject;
var TotalItems : int;

private var SpawnPointX : float;
private var SpawnPointY : float;

var DungeonSizeX : int = 5;
var DungeonSizeY : int = 5;
var PartSize : int = 50;

function Start () {
	Spawn();	//Console says error is here
}

function Spawn() {
	Debug.Log("Adding some items");
	
	i = 0;
	while(i < TotalItems){
		Debug.Log("Attempted item spawn " + i + " times");
		SpawnPointX = Random.Range(0, DungeonSizeX*PartSize);
		SpawnPointY = Random.Range(0, DungeonSizeY*PartSize);
		SpawnPoint = Vector3(SpawnPointX, 2.5, SpawnPointY);
		Debug.Log("Testing point: " +(SpawnPoint.ToString) +(" to see if an item can be spawned"));

		if(!Physics.Raycast(SpawnPoint, Vector3.zero, 1f)){
			Instantiate(ToSpawn, SpawnPoint, Quaternion.identity);
			i++;
			Debug.Log("Item spawned at point: " +(SpawnPoint.ToString));
		}
		else{
			Debug.Log("No item can be spawned at point: " +(SpawnPoint.ToString));
		}
	}
}

Any help?

Thanks in advance

SpawnPoint.ToString maybe should be SpawnPoint.ToString()