Why does a rollback of a CREATE INDEX statement take longer than expected?
I believe what you are looking for is in the warning section of this MSDN reference under the Managing Heaps section. 


  Creating or dropping clustered indexes requires rewriting the entire table. If the table has nonclustered indexes, all the nonclustered indexes must all be recreated whenever the clustered index is changed. Therefore, changing from a heap to a clustered index structure or back can take a lot of time and require disk space for reordering data in tempdb.


Your tempdb is going to play a critical role here and if you already have contention there with normal production requests maintenance tasks like indexing or de-indexing could take significantly more time to complete.  And as Kin stated your rollback is probably single threaded vs multi-threaded with the create and alter statements.