Any help about orphan coroutine?

Godot Version

4.7.stable

Question

If a object is awaiting _run function, then it is queue freed outside. Would this coroutine be a orphan coroutine and never released?

func _run() -> void:
	print("start await")
	await get_tree().create_timer(10).timeout
	print("time out")

I’ve tried either Node and Resource. It seem to be the same: “start await” printed, and “time out” never printed, and the object is likely freed in _notification callback

func _notification(what):
	if what == NOTIFICATION_PREDELETE:
		print("freed!!!", self)

But I still don’t know how to prove if the coroutine is leaked.

They get cancelled when the object is destroyed:

It happens in cancel_pending_functions()

Thanks!