.Net: Fast Way to move Hatches to Bottom

Hey guys,

I've a simple question:

Creating about 25000 Hatches with my .net application lasts 1-2s.
But moving them to the bottom of the drawing order lasts about 50s.
The objectIDCollection Hatches is filled by the drawing routine and contains the id's of all drawn hatches.
The following code moves them to the bottom by calling the MoveToBottom-Function of the DrawOrderTable:

[code]
private static void SetHatchesToBackground()
        {
            Database database = HostApplicationServices.WorkingDatabase;
            _AcDb.TransactionManager manager = database.TransactionManager;
            using (Transaction action = manager.StartTransaction())
            {
                BlockTable blockTable = action.GetObject(database.BlockTableId, OpenMode.ForRead) as BlockTable;
                if (blockTable == null) throw new System.NullReferenceException("blockTable == null");

                BlockTableRecord blockTableRecord = action.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
                if (blockTableRecord == null) throw new System.NullReferenceException("block TableRecord == null");

                DrawOrderTable dot = action.GetObject(blockTableRecord.DrawOrderTableId, OpenMode.ForWrite) as DrawOrderTable;
                dot.MoveToBottom(Hatches);

                action.Commit();
            }
            Hatches.Clear();
        }
[/code]
Is there a way to do it faster?