I am trying to calculate the autocorrelation time for a 2-D Ising model Monte Carlo simulation. As the autocorrelation function, I am using $$\chi (t) = \frac{1}{t_{max}-t} \sum_{t' = 0}^{t_{max}-t-1} m(t')m(t'+t)-\frac{1}{t_{max}-t}\sum_{t' =0}^{t_{max}-t-1} m(t') \cdot \frac{1}{t_{max}-t} \sum_{t' =0}^{t_{max}-t-1} m(t'+t)$$
with $t_{max}=1000$ and where $m$ is the magnetisation. I am running a $100 \times 100$ Ising model with no external magnetic field, coupling constant $J=1$ (ferromagnetic) and at temperature $T=2.4$. Once I run this on the magnetisation computed after each Monte Carlo sweep of the lattice (after equilibration), I plotted the negative log of the autocorrelation against time (Monte Carlo sweeps) to linearise it and use the reciprocal of the slope as my autocorrelation time $\tau$. However, the plot only looks linear initially and then breaks into a strange periodicity (see image):
What is going on here? How do I fix this to get an accurate value for the autocorrelation time?