"Size Boxes use multiple passes to calculate their size and render themselves." - Is this actually true?

According to Unreal’s documentation, size boxes are bad for performance because they require multiple passes.

However, if you actually look at the code in SBox.cpp, this doesn’t seem to be true at all?

Desired size is a simple comparison between desired size of the child and any overrides that might have been set.

From SBox::ComputeDesiredWidth()
float CurrentWidth = UnmodifiedChildDesiredSize.X;

if (CurrentMinDesiredWidth.IsSet())
{
	CurrentWidth = FMath::Max(CurrentWidth, CurrentMinDesiredWidth.Get());
}

if (CurrentMaxDesiredWidth.IsSet())
{
	CurrentWidth = FMath::Min(CurrentWidth, CurrentMaxDesiredWidth.Get());
}

return CurrentWidth;

Arrange children is also very straightforward. The exception, I suppose, is that if you constrain aspect ratio then the logic is more complex. However, not only is this rare in general, but I still don’t see anything that would be considered “multiple passes”.

From SBox::OnArrangeChildren()
AlignmentArrangeResult XAlignmentResult = AlignChild<Orient_Horizontal>(AllottedGeometry.GetLocalSize().X, ChildSlot, SlotPadding);
AlignmentArrangeResult YAlignmentResult = AlignChild<Orient_Vertical>(AllottedGeometry.GetLocalSize().Y, ChildSlot, SlotPadding);

if (CurrentMaxAspectRatio.IsSet() || CurrentMinAspectRatio.IsSet())
{
    ...
}

ArrangedChildren.AddWidget(AllottedGeometry.MakeChild(ChildSlot.GetWidget(), FVector2D(XAlignmentResult.Offset, YAlignmentResult.Offset), FVector2D(XAlignmentResult.Size, YAlignmentResult.Size)));

So am I missing something, or is the documentation just wrong here?