There's actually a hint in the code! It says that the bounds are calculated from the original size of the model,
if model is scaled on drawing, bounds must be also scaled.
That's just a matter of scaling the bounds like this:
float Scale = 0.3f;
bounds.min = Vector3Scale(bounds.min, Scale);
bounds.max = Vector3Scale(bounds.max, Scale);