Queue free() on timeout not working

Godot Version

extends Area2D

var speed = 300

func _ready():
set_as_top_level(true)

func _process(delta):
position += (Vector2.RIGHT*speed).rotated(rotation) * delta

func _on_visible_on_screen_enabler_2d_screen_exited():
queue_free()

func _on_instance_delete_timer_timeout():
queue_free()

Question

I’m working with an area 2d node which is instantiated whenever the attack button is pressed. But the func ‘_on_instance_delete_timer_timeout():’ is not making the queue free and removing the node.

Are you sure you connected the signal? How do you instantiate the area2d?