### Godot version

Godot 4.1-dev (ed63b9ea23)

### System information

Manjaro Gnome

### Issue description

`thread.start(test.bind(0))` prints the following error:

```
ERROR: Caller thread can't call this function in this node. Use call_deferred() or call_thread_group() instead.
   at: get_script (scene/main/node.cpp:3536)
```



### Steps to reproduce

```
func _ready() -> void:
	var thread := Thread.new()
	thread.start(test.bind(0))

func test(i: int) -> void:
	pass
```

### Minimal reproduction project

N/A
List<String> args;
	for (int i = 0; i < p_arguments.size(); i++) {
		args.push_back(p_arguments[i]);
	}
	::OS::ProcessID pid = 0;
	Error err = ::OS::get_singleton()->create_process(p_path, args, &pid, p_open_console);
	if (err != OK) {
		return -1;
	}
	return pid;
}
Error OS::kill(int p_pid) {
	return ::OS::get_singleton()->kill(p_pid);
}
bool OS::is_process_running(int p_pid) const {
	return ::OS::get_singleton()->is_process_running(p_pid);
}
int OS::get_process_id() const {
	return ::OS::get_singleton()->get_process_id();
}
bool OS::has_environment(const String &p_var) const {
	return ::OS::get_singleton()->has_environment(p_var);
}
String OS::get_environment(const String &p_var) const {