Performance Issues with Coroutines

Hi guys,

I’m looking over my game with the Profiler to find some peaks and performance problems.
One thing made me kinda curious. The end of a coroutine seemed to be a kinda big deal to unity so I made a trivial coroutine to verify that and here is the result:

The coroutine itself contains kinda trivial code:

	private IEnumerator TestRoutine(){
		yield return new WaitForSeconds(1f);
		print ("TESTTEST");

I call the coroutine with StartCoroutine(TestRoutine());

Is that a common issue and is there a way to improve this? Because in the normal scenario I made at the end of that coroutine some other function calls what drove me up to 94% of the CPU usage. Of course I could use a yield for second after my function calls and delay that end of function a little, but that would not be an ideal solution.
And almost 60% of CPU usage seems a little high for that task.

Thanks for any answers.

Remove the print statement. Debug.Log is quite CPU intensive; nothing to do with coroutines.