Interesting way of adding multithreading, would need a threadpool to manage the actual number of threads but it would need less overall runnables as compared to runnable / tile entity. Btw, how do tile entities interact when they need to react to eachother? is that always "on the next tick" ? Are there many "check my neighbour" type of checks ?
In GregTech there are tons of those CheckMyNeighbour things (That's why I optimized it massively), but that isn't that buggy if one would group Chunks, also once two Chunk Groups Connect they Sync up their TileEntity Ticks if it would be like that.