Is it possible the table had a column dropped? Or an update to a previously wide column that made it smaller?
You can duplicate the problem this way:
USE tempdb
GO
IF EXISTS (SELECT * FROM sys.tables WHERE name = 'SizeCheck') DROP TABLE SizeCheck
GO
IF EXISTS (SELECT * FROM sys.tables WHERE name = 'SizeCheck2') DROP TABLE SizeCheck2
GO
CREATE TABLE SizeCheck (
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
Value VARCHAR(8000)
)
INSERT SizeCheck (Value)
SELECT SPACE(8000)
FROM sys.all_objects
UPDATE SizeCheck SET Value = SPACE(1)
SELECT * INTO SizeCheck2 FROM SizeCheck
EXEC sp_spaceused SizeCheck
EXEC sp_spaceused SizeCheck2
/*
name rows reserved data index size unused
SizeCheck1987 16008 KB15896 KB72 KB40 KB
SizeCheck21987 80 KB 48 KB 8 KB24 KB
*/