VB.NET de 64 bits Alocando> 2 GB de RAM (bug do .NET?)

Eu tenho um aplicativo VB.NET de 64 bits e quero alocar um buffer> 2GB de tamanho.

No código a seguir, tanto o "novo" quanto o "ReDim" lançam uma "OverflowException".

Como posso alocar buffers> 2GB quando essas funções aceitam somente valores assinados de 32 bits?

(Isso é possível em c #?)

Editar Estou executando o WinXP 64 com 4 GB de RAM.

Dim width As Long = 19005
Dim height As Long = 32768

Dim buffer() As Byte = New Byte((width * height * 4) - 1) {}

Dim size As Long = (width * height * 4) - 1
ReDim buffer(size)