### Godot version

master CI builds

### System information

Linux / Editor with doubles and GCC sanitizers

### Issue description

The `Linux / Editor with doubles and GCC sanitizers` build can fail with a `attempting free on address which was not malloc()-ed` crash in the `Open and close editor (Vulkan)` step.

https://github.com/godotengine/godot/actions/runs/5366302204/jobs/9735786296#step:15:138
https://github.com/godotengine/godot/actions/runs/5389199469/jobs/9783070708?pr=78740#step:15:138

The failure doesn't seem related to either PR (in fact one of them is just a docs change). I have only seen this issue these two times, still probably worth looking into.

### Steps to reproduce

Open and close https://github.com/godotengine/regression-test-project/archive/4.0.zip using the Vulkan renderer.

### Minimal reproduction project

https://github.com/godotengine/regression-test-project/archive/4.0.zip
vkDestroyPipelineCache(device, pipelines_cache.cache_object, nullptr);
	for (int i = 0; i < split_draw_list_allocators.size(); i++) {
		vkDestroyCommandPool(device, split_draw_list_allocators[i].command_pool, nullptr);
	}
	frames.clear();
	for (int i = 0; i < staging_buffer_blocks.size(); i++) {
		vmaDestroyBuffer(allocator, staging_buffer_blocks[i].buffer, staging_buffer_blocks[i].allocation);
	}
	while (small_allocs_pools.size()) {
		HashMap<uint32_t, VmaPool>::Iterator E = small_allocs_pools.begin();
		vmaDestroyPool(allocator, E->value);
		small_allocs_pools.remove(E);
	}
	vmaDestroyAllocator(allocator);
	while (vertex_formats.size()) {
		HashMap<VertexFormatID, VertexDescriptionCache>::Iterator temp = vertex_formats.begin();
		memdelete_arr(temp->value.bindings);
		memdelete_arr(temp->value.attributes);
		vertex_formats.remove(temp);
	}
	for (KeyValue<FramebufferFormatID, FramebufferFormat> &E : framebuffer_formats) {
		vkDestroyRenderPass(device, E.value.render_pass, nullptr);
	}
	framebuffer_formats.clear();
	
	ERR_FAIL_COND(descriptor_pools.size());
	ERR_FAIL_COND(dependency_map.size());
	ERR_FAIL_COND(reverse_dependency_map.size());
}
RenderingDevice *RenderingDeviceVulkan::create_local_device() {