Bounds larger than expected

I’m not quite sure I understand how collider.bounds and renderer.bounds actually work. When I import a model from Blender (or create a standard one in Unity), the bounds look this way (just as I expect):

But when I rotate the model around global Y axis, the bounds transform and become significantly larger than the collider:

Why does this happen? As far as I know, the bounding box must always stay as small as possible, yet able to encompass the whole collider.

I’m using a very simple script to draw the box:

private void OnDrawGizmos()
{
  	var bounds = collider.bounds;
   	Gizmos.DrawWireCube(bounds.center, bounds.size);
}

What confuses me even more is that renderer.bounds produce the same effect.

Well, seems like collider.bounds and renderer.bounds actually enclose the object with its mesh bounding box. One of this question’s comments has the following picture which gave me the clue:

alt text

I’m not sure if it is right, but it exactly matches the results that I observed during my experiments.