When profiling the memory - I noticed that as we perform a backward pass, the memory used increases and is never released.