The autocorrelation of the magnetisation is plotted for the Ising model of a ferromagnet. The critical temperature is 2.3 J/k Is this the expected behaviour? as in, it decays super fast for temperatures lower than the critical, decays the slowest at the critical temperature, and then the decay time drops again at greater temperatures. IF so, why?
If this is square lattice, 2.3k for critical temperature would be correct. Check Wikipedia page for Ising model, Onsagar's exact solution.
As for the behaviour of the autocorrelation time which you described, it's 100% accurate. This is so called critical slowing down, many cluster algorithms like Worm, Wolff and etc were invented to solve this problem. Why does this happen? Well, at high temperatures any change of the lattice will be accepted, because the configuration probability is proportional to inverse temperature, and at high temperatures, the probability of each configuration is almost the same, so every change will be accepted and you will get an average over a large sample of different data (hence no autocorrelation).
At very low temperatures, the lattice tends to stay in its ground state, so almost no change will be accepted, and it doesn't matter how many times you sweep the lattice, the result of averaging will be same so again you get a low autocorrelation (except for zero temperature of course, where variance is zero).
At the critical temperature, like at low temperatures, small perturbations will be accepted (i.e the configuration of the lattice does not change that much, hence you will sample the same data over and over), but unlike low temperatures, if you sweep the lattice and try to sample data again, you will see that the result of averaging over this new sampled data is different from previous one! Thus the autocorrelation time increases.