### 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<MethodInfo> signals;
	::ClassDB::get_signal_list(p_class, &signals, p_no_inheritance);
	TypedArray<Dictionary> ret;
	for (const MethodInfo &E : signals) {
		ret.push_back(E.operator Dictionary());
	}
	return ret;
}
TypedArray<Dictionary> ClassDB::class_get_property_list(StringName p_class, bool p_no_inheritance) const {
	List<PropertyInfo> plist;
	::ClassDB::get_property_list(p_class, &plist, p_no_inheritance);
	TypedArray<Dictionary> ret;
	for (const PropertyInfo &E : plist) {
		ret.push_back(E.operator Dictionary());
	}
	return ret;
}
Variant ClassDB::class_get_property(Object *p_object, const StringName &p_property) const {
	Variant ret;
	::ClassDB::get_property(p_object, p_property, ret);
	return ret;
}
Error ClassDB::class_set_property(Object *p_object, const StringName &p_property, const Variant &p_value) const {