https://medium.com/@fardakarimov/javascript-memory-management-a-comprehensive-guide-to-understanding-garbage-collection-a9f95a7a4719