I have been experiencing loss of frames randomly in my project, so I have looked toward the unity profiler to see what could be the issue. I noticed there was quite a lot of GC allocations happening each frame (~16kb) with random spikes every few ms (~100kb). When I look at the memory overview, it says that GC allocations per frame are as low as 300 and as high as 2000 during spikes. Now when I look at the CPU usage overview, I am not getting nearly as much memory being allocated (17b /frame). Where is the rest of this being allocated? Is this amount of garbage acceptable? How can I find where this allocations are happening? I have tried deep profiling and everything to see where this could be happening. I also understand the general practices when it comes to GC optimizations and while i'm pretty sure I have been following these practices I can't be sure entirely as my codebase as gotten quite large. Having the profiler not pointing me in any direction is making me feel really lost in trying to figure out what the issue is. The only thing I am able to be certain of is that upon start, I am using a library that I am aware of loads several very large dictionaries into memory (100mb+) and the random FPS drops are directly related to this (have tracked down to simply removing one line to prevent FPS drop). What I dont understand is that why would this affect performance for the entire life span of playing and not just the start since it doesnt run on an update loop/coroutine. Could this simply be because the performance is taking a hit because of the large amount of data loaded into memory at the start? I apologize if I seem ignorant (especially when it comes to the GC stuff), I am just trying to wrap my head around this and figure out a solution so I can actually move on from this issue.