Coroutines Bug? Unity 4.5

So the situation is i have two monobehaviours(object1 and object2)
object1 is running coroutine that waits for coroutine running on object2 and the problem is that when i call object2.StopAllCoroutine() object2 coroutine stops, but coroutine on object 1 does not resume


    public class RootObject: MonoBehaviour
            private CoroutineHost coroutineHost;
    		public void Start()
                var go = new GameObject();
                coroutineHost = go.AddComponent<CoroutineHost>();
            public IContained<IGameplay> gameplay
            private IEnumerator GamePlayRoutine()
                yield return coroutineHost.StartCoroutine(gameplay.contained.Run());
            private IEnumerator StopAllCoroutinesRoutine()
                yield return new WaitForSeconds(1.0f);
                Debug.Log("Killing Coroutines");

In this example only Killing Coroutines is being printed, but never “!!!”

I don’t think its a bug, its probably a design decision.

If you force quit a program, do you expect it to (or it to be in a fit state to) return a value to its caller?

Its an odd case though!

I think to solve your problem you will want to make something like a EndGame method which will set a flag to let the coroutine end itself correctly, or just not nest the coroutine in the first place.