### Godot version

4.0 beta17

### System information

win10 Gles3 

### Issue description

i am using tilemap to setup RTS game.
use draw_dashed_line function drew 192 v-dashlines  , 192 h-dashlines, 
the _draw function run only once , 
than run my scene , 2G memory has been consumed.
The following is the comparison data （before and drew）：
before：
![%HLAHK A3ULQD8}4DTW0254](https://user-images.githubusercontent.com/6269655/216816409-d62398c1-2cf8-4a95-ad72-0cee5702700e.png)
after
![2 Z(P162O 7LRXR6{C@}VEW](https://user-images.githubusercontent.com/6269655/216816415-1034ee58-43c2-45a9-a3dc-e3c315a16101.png)
---
the code 
---
func _draw():
	if world:
		draw_pave_grid()
	print("drawn")

func draw_pave_grid():
	var k =0
	for i in world.tmapSize.y:
		draw_dashed_line(Vector2(world.worldStart.x,world.worldStart.y+i*world.cellSize.y),
			Vector2(world.worldEnd.x,world.worldStart.y+i*world.cellSize.y),_line_color,_line_width)
		k+=1			
	
	for i in world.tmapSize.x:
		draw_dashed_line(Vector2(world.worldStart.x+i*world.cellSize.x,world.worldStart.y),
			Vector2(world.worldStart.x+i*world.cellSize.x,world.worldEnd.y),_line_color,_line_width)
		k+=1

and the world size is :  wsize (8032, 4256) 
the cell size is  32X32
...
wstart (-1504, -800) wend (6528, 3456) wsize (8032, 4256) whsize (4016, 2128) center (2512, 1328) 
384 lines drew



### Steps to reproduce

setup a big tilemap with 32X32 tile , map size is about 8K X 4K,
then darw dash line(about 200X200) grid  once 
the memory will be eat up




### Minimal reproduction project

sorry
return canvas_texture;
}
void CanvasTexture::_bind_methods() {
	ClassDB::bind_method(D_METHOD("set_diffuse_texture", "texture"), &CanvasTexture::set_diffuse_texture);
	ClassDB::bind_method(D_METHOD("get_diffuse_texture"), &CanvasTexture::get_diffuse_texture);
	ClassDB::bind_method(D_METHOD("set_normal_texture", "texture"), &CanvasTexture::set_normal_texture);
	ClassDB::bind_method(D_METHOD("get_normal_texture"), &CanvasTexture::get_normal_texture);
	ClassDB::bind_method(D_METHOD("set_specular_texture", "texture"), &CanvasTexture::set_specular_texture);
	ClassDB::bind_method(D_METHOD("get_specular_texture"), &CanvasTexture::get_specular_texture);
	ClassDB::bind_method(D_METHOD("set_specular_color", "color"), &CanvasTexture::set_specular_color);
	ClassDB::bind_method(D_METHOD("get_specular_color"), &CanvasTexture::get_specular_color);
	ClassDB::bind_method(D_METHOD("set_specular_shininess", "shininess"), &CanvasTexture::set_specular_shininess);
	ClassDB::bind_method(D_METHOD("get_specular_shininess"), &CanvasTexture::get_specular_shininess);
	ClassDB::bind_method(D_METHOD("set_texture_filter", "filter"), &CanvasTexture::set_texture_filter);
	ClassDB::bind_method(D_METHOD("get_texture_filter"), &CanvasTexture::get_texture_filter);
	ClassDB::bind_method(D_METHOD("set_texture_repeat", "repeat"), &CanvasTexture::set_texture_repeat);
	ClassDB::bind_method(D_METHOD("get_texture_repeat"), &CanvasTexture::get_texture_repeat);
	ADD_GROUP("Diffuse", "diffuse_");
	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "diffuse_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_diffuse_texture", "get_diffuse_texture");
	ADD_GROUP("NormalMap", "normal_");
	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "normal_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_normal_texture", "get_normal_texture");
	ADD_GROUP("Specular", "specular_");
	ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "specular_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_specular_texture", "get_specular_texture");
	ADD_PROPERTY(PropertyInfo(Variant::COLOR, "specular_color", PROPERTY_HINT_COLOR_NO_ALPHA), "set_specular_color", "get_specular_color");
	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "specular_shininess", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_specular_shininess", "get_specular_shininess");
	ADD_GROUP("Texture", "texture_");
	ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_filter", PROPERTY_HINT_ENUM, "Inherit,Nearest,Linear,Nearest Mipmap,Linear Mipmap,Nearest Mipmap Anisotropic,Linear Mipmap Anisotropic"), "set_texture_filter", "get_texture_filter");
	ADD_PROPERTY(PropertyInfo(Variant::INT, "texture_repeat", PROPERTY_HINT_ENUM, "Inherit,Disabled,Enabled,Mirror"), "set_texture_repeat", "get_texture_repeat");
}
CanvasTexture::CanvasTexture() {