2Dゲームを作っています。
計41MBのアルファ付きPNG(2500枚)と、効果音(WAV)16MB(200個)でゲームを作っています。
しかしなぜかUnityがメモリを1.6GBも使うようになってしまい、

Fatal error!
Could not allocate memory: System out of memory!
Trying to allocate : 1638356B with 32 alignment.
Memory Label: Texture

と出てPC再起動直後でもUnityが起動できなくなってしまいました。
Unityのバージョンは4.6.51fでOSはWinXPです。

プロジェクトを開き、全Assetsが用意された状態で
シーンだけは読み込んでいない(Hierarchyがカメラのみの)状態でなら
Unityは147MBしかメモリを使っていません。(タスクマネージャ上)

ゲームの開発は以下の様にやっていました。
Hierarchyに空のゲームオブジェクトを作り、C#スクリプトを貼り付け、
public GameObject[] spriteParts = new GameObject[1]; // スプライト2500枚の管理
public AudioClip[] audioClip = new AudioClip[1]; // 効果音200個の管理
と変数を作り、Inspector上で全部1つずつ加えて、直接配列を指定して利用していました。

「ゲームが重くなるからFindなどは使わずこうした方が良い」という記述を見て
その通りにやっていたのですが、
このやり方がメモリを1.6GBも使う原因になっていたのでしょうか?

今のやり方では数週間前のバックアップから作り直しても同じ事になるので
メモリを使い過ぎない手法があれば教えては頂けませんでしょうか。