Confused with display FPS on Surface Pro 3

So I created a very basic scene, have some uGUI elements on the screen just a few sliders and really nothing more than that. I attached the script found here.

If I compile this on my main machine it works fine, if I deploy it Windows 10 store it works fine, which I mean the FPS is always jumping around 90fps. As it is doing nothing I kind of expected that.

However, if I then install this from the Windows Store or remote deploy from VS 2015 to the Surface Pro 3, the FPS is around 32fps and within seconds without fail the display driver crashes. If I remove the linked script above, I don’t get an issue with it crashing.

Sorry better add the modified script

public class FPSCounter : MonoBehaviour
{

	int frameCount = 0;
	float dt = 0.0f;
	float fps = 0.0f;
	float updateRate = 4.0f;  // 4 updates per sec.

	void Update()
	{
		frameCount++;
		dt += Time.deltaTime;
		if (dt > 1.0 / updateRate)
		{
			fps = frameCount / dt;
			frameCount = 0;
			dt -= 1.0f / updateRate;
		}

	}

	void OnGUI()
	{
		int w = Screen.width, h = Screen.height;

		GUIStyle style = new GUIStyle();

		Rect rect = new Rect(0, 0, w, h * 2 / 100);
		style.alignment = TextAnchor.UpperLeft;
		style.fontSize = h * 2 / 100;
		style.normal.textColor = new Color(0.0f, 0.0f, 0.5f, 1.0f);
		float msec = Time.deltaTime * 1000.0f;
		string text = string.Format("{0:0.0} ms ({1:0.} fps)", msec, fps);
		GUI.Label(rect, text, style);
	}
}