[CLOSED] How could I return from my *function* when my sound has finished playing?

In general, you should structure your dialog system as a state machine with current state, and transition events.
The transition events can of course be implemented in functions.

Somewhat unpopular but correct observation: You should in general never use “Delay.” It feels convenient for many things, but it frequently ends up causing bugs that are hard to debug as your game logic scales up.