Unavoidable performance stutter from Resources.UnloadUnusedAssets ?

I have the following code to test unloading unused assets. Even if I put it in a coroutine, a few frames are skipped on my powerful PC. Is there no way around this?

void OnGUI() {
		if (GUI.Button(new Rect(20, 20, 100, 40), "Free RAM")) {
			StartCoroutine(Unload());
		}
	}
	
	private IEnumerator Unload() {
		Resources.UnloadUnusedAssets();
		yield break;
	}

I know I can call the lighter Resources.UnloadAsset if I have the object reference handy, but I don’t always.

Thanks in advance!
-Brian

I believe that UnloadUnusedAssets is like a Garbage Collector that goes around searching for data to remove from memory. That being the case, there is no way around it - you have to call it when you have the time to suffer a small hanging. I’ve seen once in the forum someone saying that frequently calling it would cause small hangings that were fast enough to not be noticed by the players, but I guess that this changes with every game and platform.