It conditionally grows, even when you place 3 as the maximum, it doesn't mean 3 as the minimum, it doesn't create additional lines unless there's data, so you might have spaces or carriage returns, or something else in there.
Make sure that you leave the size of the field itself to only one line, don't increase the height of it other than using Can Grow.
To make sure you don't have CRs or spaces within, try using a formula instead of the field, as in:
replace(trim({table.field}),chr(13)," ")
Then also test the length of th field using:
len(trim({table.field}))
in another formula alongside to aid in discovery.
-k