This does not change the functionality of the code, but you may want to consider the functional style:
callback.foreach(cb => cb(Left(new HeavyLoadException))