### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

Godot v4.1.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (NVIDIA; 31.0.15.3640) - Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz (16 Threads)

### Issue description

Running the following code causes a memory leak:
```
var tween = get_tree().create_tween()
tween.stop()
queue_free()
```

### Steps to reproduce

1. Create a Tween
2. Use `tween.stop()` 
3. `queue_free()` the Node that created the Tween

### Minimal reproduction project

[TweenMemoryLeak.zip](https://github.com/godotengine/godot/files/12156855/TweenMemoryLeak.zip)

}
			ERR_FAIL_V_MSG(false, tween_id + ": started with no Tweeners.");
		}
		current_step = 0;
		loops_done = 0;
		total_time = 0;
		_start_tweeners();
		started = true;
	}
	double rem_delta = p_delta * speed_scale;
	bool step_active = false;
	total_time += rem_delta;
#ifdef DEBUG_ENABLED
	double initial_delta = rem_delta;
	bool potential_infinite = false;
#endif
	while (rem_delta > 0 && running) {
		double step_delta = rem_delta;
		step_active = false;
		for (Ref<Tweener> &tweener : tweeners.write[current_step]) {
			
			double temp_delta = rem_delta;
			
			step_active = tweener->step(temp_delta) || step_active;
			step_delta = MIN(temp_delta, step_delta);
		}
		rem_delta = step_delta;
		if (!step_active) {
			emit_signal(SNAME("step_finished"), current_step);
			current_step++;