This phenomenon is often called "ringing" and plagues methods that are not $L$-stable. This can be seen in this motivating example from Hairer & Wanner (1999) "Stiff differential equations solved by Radau methods". Consider the equation
$$ \dot y = -50 (y - \cos t) $$
and apply explicit Euler with time step near the stability limit, implicit midpoint (or equivalently for this problem, trapezoid rule, aka. Crank-Nicolson), and implicit Euler. The result, shown below, illustrates that the $A$-stable (but not $L$-stable) implicit midpoint method produces a poor-quality solution.
To avoid this problem when solving stiff systems, you should use an $L$-stable method such as BDF-2, a suitable DIRK, or a Radau method. See Hairer and Wanner's second volume for extensive discussion of this topic.