It is possible that there could be unintended loops happening but I haven’t noticed them before. However, I also just found out that, embarrassingly, that blueprint is using a blueprint library function I made (just a cast node) to get a reference to the player. So it looks like every puzzle piece in the game contains a cast to the player (a TON of memory). So, I’ve found a way to work around needing to do this cast to the player in the base BP and and have reduced its memory size from the shown 148.6 MiB to 41.3KiB. Not sure if this was the problem, but some levels have hundreds of these puzzle pieces in them.
The old base BP
The offending BP function