コレクションでXMLシリアル化に失敗

これまで成功していたのに、あるコレクションクラスでXMLシリアル化に失敗しました。
エラーメッセージの一部を次に挙げます。

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///(local settings)/temp/(DLLファイル名).

ここで、local settings は、documents and settings\(ユーザ名)\local settings を指します。また、DLLファイル名は不定です(実行時に動的生成されるっぽい)。

原因不明。
ちなみに、上のエラーをキーワードにしてぐぐってみると、たいていは ASP.NET がらみ(%windir%\temp のパーミッションを開けてやるといいらしいです)。

コレクションクラスにエレメントやアトリビュートをくっつけていたのを、コレクションを分離して、エレメントとして持たせてやると、なぜかうまくいきました。

なんか言いにくいから、それっぽいコードを次に提示します。
エラー発生時は、こんなかんじ。

class test
  inherits CollectionBase

  public element1 as string

  ...
end class

で、こうしました。

class test
  public element1 as string
  public itemlist as childcollection
  ...
end class

class childcollection
  inherits CollectionBase
  ...
end class