make disposables more friendly for code analysis, only use DisposeList as a helper for actual lists, Dispose should not throw exceptions