ClientSizeに大きすぎる値を設定すると

どうしてこう妙な壁にぶち当たってばかりなのか。粗探ししたいわけじゃないのにー。
FormsのFormクラスにはSizeプロパティとClientSizeプロパティがあります。どちらも設定可能です。
ある日、こんなコードを書いていました。

this.ClientSize = Madoka.Size;
renderTarget.Resize(this.ClientSize);

Direct2Dの話になるのですが、WindowRenderTargetはターゲットウィンドウをResizeで指定したサイズだと思い込んで描画します。なので実際のClientSizeと違ったり、まして比率が間違っていると非常に気持ち悪いことになります。
気持ち悪いことになりました。
このときMadoka.Sizeは(1536,1536)でしたが、もし無理な値ならClientSize設定した時点で補正され、次の取得では補正後の値が取れると考えていたのです。
でClientSize設定後の値がこちら。

Size
{Width = 1542 Height = 1100}
    height: 1100
    Height: 1100
    IsEmpty: false
    Width: 1542
    width: 1542
ClientSize
{Width = 1536 Height = 1536}
    height: 1536
    Height: 1536
    IsEmpty: false
    Width: 1536
    width: 1536

Sizeは補正されていますが、ClientSizeは設定値のままです。
リファレンスソースを読むとset_ClientSizeの動きはこのようになっています。

  1. Sizeプロパティに設定
  2. AdjustWindowRectExでウィンドウサイズに変換
    1. SetWindowPosを呼び出す
      1. WM_WINDOWPOSCHANGEDが同期的に呼ばれる
      2. (実際に設定された値)をClientSizeのキャッシュにセット
  3. (set_ClientSizeに渡された値)をClientSizeのキャッシュにセット

せっかく補正後の値をもらってるのに元の値で上書きしていた、と。
どこかに投げた方がいいんですかね・・・