for a simple paramagnet ($N$ magnetic moments with values $-\mu m_i$ and $m_i = -s, ..., s$) in an external magnetic field $B$, I have computed the Gibbs partition function and thus the Gibbs free energy $G(B,T)$ and obtained a simple approximation for small $B$ fields, which has the basic form
$$G(B,T) = N k T a - N b B^2/T$$ for suitable constants $a$ and $b$. From this, I would like to compute the heat capacities for both constant $B$ and constant magnetization, $M$. I can obtain the magnetization from $$M = -\frac{\partial G}{\partial B} = 2 N b B/T$$ and from this the total energy via $$E = -MB$$ For the heat capacity at constant field, I would then write this in terms of $B$ and $T$ alone, i.e. $$E = - 2 N b B^2 / T$$ so $$C_B = 2 N b B^2 / T^2$$ this makes sense for small $B$ and large $T$ as we have a finite-state system that achieves saturation: Eventually, there simply are no more available states to add more energy to the system.
Now for the heat capacity at constant magnetization. My idea was to just rewrite $E$ again, this time as a function of $M$ and $T$ alone, which gives $$E = -MB = -\frac{M^2 T}{2Nb}.$$ This time, obviously $$\frac{\partial E}{\partial T} = -\frac{M^2}{2Nb}$$ so I have a negative heat capacity.
Now, I have a hard time visualizing this. I increase the temperature and thereby lower the energy? Is this because increasing the temperature increases spin fluctuations so they are not as aligned anymore and, in absence of a kinetic energy term, these fluctuations don't carry energy themselves?
Or have I gone wrong at some part in my derivation?