As it turns out, this issue is not caused an object's storage characteristics, but the datafile. I created the datafile at a reasonable size and allowed autogrowth just in case, but at a percentage instead of size. Each time space is added, it's an exponential size, but there was unused space in there, and each time it was more unused space. Everything I've read MS SQL uses a Global Allocation Map to find an unused block, but that didn't seem to be happening, just a bunch of white space everywhere with bad performance.
We started over and I made the datafile bigger with an autogrowth of 1MB and the behavior went away.
This is staging, when we have a handle on how much storage is required for each of our databases, development through production will be adequately sized from the get go.
The motto is don't use a percentage autogrowth size ...
Sherrie