### Godot version

v4.1.rc2.mono.official [46424488e]

### System information

Windows 11 - v4.1.rc2 - Vulkan

### Issue description

I tried to move a RichTextLabel into a CenterContainer node and the editor crashed.

It seems the latest working version was **v4.1.beta2.mono.official [a2575cba4]**
I have a crash with all the snapshots that came after that one.

`ERROR: Failed method: CanvasItem::_redraw_callback. Message queue out of memory. Message queue out of memory. Try increasing 'memory.
   at: push_callablep (core/object/message_queue.cpp:96)
ERROR: Failed method: CanvasItem::_redraw_callback. Message queue out of memory. Message queue out of memory. Try increasing 'memory.
   at: push_callablep (core/object/message_queue.cpp:96)
ERROR: Failed method: CanvasItem::_redraw_callback. Message queue out of memory. Message queue out of memory. Try increasing 'memory.
   at: push_callablep (core/object/message_queue.cpp:96)
ERROR: Failed method: CanvasItem::_redraw_callback. Message queue out of memory. Message queue out of memory. Try increasing 'memory.
   at: push_callablep (core/object/message_queue.cpp:96)
ERROR: Failed method: EditorToaster::_error_handler_impl. Message queue out of memory. Message queue out of memory. Try increasing '.
   at: push_callablep (core/object/message_queue.cpp:96)
ERROR: Failed method: EditorToaster::_error_handler_impl. Message queue out of memory. Message queue out of memory. Try increasing '.`

### Steps to reproduce

- Open the project and the main scene
- Move the RichTextLabel into the CenterContainer
- Editor should crash 

### Minimal reproduction project

[bug-ui.zip](https://github.com/godotengine/godot/files/11926495/bug-ui.zip)

clear();
	append_text(p_bbcode);
}
void RichTextLabel::append_text(const String &p_bbcode) {
	_stop_thread();
	MutexLock data_lock(data_mutex);
	int pos = 0;
	List<String> tag_stack;
	int indent_level = 0;
	bool in_bold = false;
	bool in_italics = false;
	bool after_list_open_tag = false;
	bool after_list_close_tag = false;
	set_process_internal(false);
	while (pos <= p_bbcode.length()) {
		int brk_pos = p_bbcode.find("[", pos);
		if (brk_pos < 0) {
			brk_pos = p_bbcode.length();
		}
		String txt = brk_pos > pos ? p_bbcode.substr(pos, brk_pos - pos) : "";
		
		if (after_list_close_tag || after_list_open_tag) {
			txt = txt.trim_prefix("\n");
		}
		if (brk_pos == p_bbcode.length()) {
			
			if (txt.is_empty() && after_list_open_tag) {
				txt = "\n";