How I can find memory leaks?

Hello! I’m making 2D game. It’s system almost finished. But I stuck in 1 problem - it lags over time. Even if nothing was made, it will accumulate lags slowly, and then show them in move. IDK why this may happen, because I disconnect every unused function, after Part:Destroy() I always use Part = nil, and even with things like this it lags. Also, my game uses a lot of 2-5D tables. (Table[a][b][c][d][e] - example)
Can someone say me, what may cause lags in game?

Are you creating many instances at once? Like parts or GUI elements?

yes, but it lag much less in the start, and after some time, it lags more. (I’m instancing like 80 image labels in the same time)

You said you’re making a 2d game, do you have any custom physics system or even plain movement system that might be activated after, and it may be causing the trouble?

my game is:

Just confirm me one thing, does it crash if you just stay in the game without doing anything, or only when you do a certain/any action?

nope, It don’t crash even after 1 day of AFK. But it become laggier after some time (20-30 mins is noticable, and this lags can be seen only after performing valid move).

Are you able to see if the pieces of the games are being destroyed? Or perhaps even created when they are not meant to?

If you find any scripts that you might think is where the mistake lies, send it here, because just what you said could be millions of possible reasons it’s lagging, try debugging with a bunch of print functions or even checking in the explorer if everything is being properly destroyed.