In implementing the ISessionStateItemCollection.RemoveAt(int) method, you should set the ISessionStateItemCollection.Dirty property to true to indicate values in the System.Web.SessionState.ISessionStateItemCollection implementation have been modified.
Your implementation of the ISessionStateItemCollection.RemoveAt(int) method should throw an ArgumentOutOfRangeException exception if index is less than zero or is equal to or greater than ICollection.Count.