Mergesort implementation should no longer have O(N) complexity (provided garbage collection works reasonably well)