That's not a problem for me on Windows either. Your code also runs without flickering.
However, the problem could be the following: FormResize is called when the size of Form changes.
If you change the size of Form within FormResize, FormResize is called again.
That doesn't normally make sense. That's why I put the size change of Form in a ButtonClick to prevent the recursive call.