Во-первых, объекты JS могут и не удаляться из памяти, если памяти хватает. Зануление ссылки ничего не означает. Собственно, любой GC может ничего и не удалять.
Во-вторых, в JS — в отличие от хотя бы C# — нет никаких деструкторов/файнализаторов, так что GC никак не может знать, что при удалении объекта нужно что-то ещё сделать/вызывать.
Во-вторых, в JS — в отличие от хотя бы C# — нет никаких деструкторов/файнализаторов, так что GC никак не может знать, что при удалении объекта нужно что-то ещё сделать/вызывать.
В самом WASM память можно только наращивать, а освобождать вообще нельзя. "Освобождением" занимается библиотека времени выполнения конкретного языка, реализованного поверх WASM. Так что через неё руками всё делается.
ну окей допустим у меня в классе используется статический массив на 100 байт. и я просто в коде периодически создаю объекты этого типа. Если я это делаю в с++, оно автоматически удаляется, а если в js, то я дойду до 4гб и все, исключение вылетит?