GetBoundingBox returning incorrect size

I made a random part placement system for my Backrooms game that randomly selects models from a folder and scatters them across another part which, until recently, worked fine. I had only tested it with singular part models but now when I introduced one of the multi part models I planned to use it with, it completely broke. I know exactly what the issue is, but not what’s causing it or how to fix it. Here is the relevant code:

boxFrame, boxSize = place:GetBoundingBox()
			local exclude = OverlapParams.new()
			exclude.FilterDescendantsInstances = {v, place:GetChildren()}
			repeat
				testPos = CFrame.new(math.random(minX, maxX), place.PrimaryPart.Size.Y / 2 + v.Size.Y / 2, math.random(minZ, maxZ))
				print(boxSize)
				print(workspace:GetPartBoundsInBox(testPos, boxSize))
				task.wait()				
			until #workspace:GetPartBoundsInBox(testPos, boxSize, exclude) == 0

For some reason boxSize is returning as 84.16999816894531, 7.170000076293945, 50.38118362426758 instead of roughly 3.5, 3.5, 3.5, which I measured to be roughly the model’s dimensions. I checked and that’s also not the model’s position. Does anyone know why this is happening?

try using :GetExtentsSize() instead and see if it changes anything

It now returns the value 91.94757843017578, 7.170000076293945, 34.146217346191406 instead.