To back up what GParkings said:
Don't use equality tests: they will not work except under special conditions: always use greater-than-or-equal and less-than-or-equal instead.
Don't use Magic Numbers: Define a constant as:
const int resizeDelta = 16;
This way, if you want to make it bigger or smaller in future, you only have to change it in one place - it is also easier to change it to a variable if you want it to start slow and speed up, say.
You probably don't want && anyway: You will keep growing even when one of them is too big.
if (currentSquare.Width == MaxWidth && currentSquare.Height == MaxHeight)
Instead, you probably want || so that if either of them fills the area, stop growing. This way your squere should pretty much stay square!
You don't need to check a bool value against true! You can just use the name of the bool variable:
if (SwitchGrowthDirection)
And it's opposite
if (!SwitchGrowthDirection)
reads as "if Not SwitchGrowthDirection"
Don't call bools by names like that: if you call it growBigger instead, then the code reads more naturally:
if (growBigger)
Reads as "If grow bigger..." use names like Direction when you will compare them against values like Up and Down, or North and South instead.
I wouldn't do it quite that way anyway: You don't need the bool at all. If you replace it with an int, which holds a positive value for "Grow Bigger", a negative value for "Get Smaller" and zero "stay the same" then you would just add the current value to the existing every time, and you don't need the test.