What causes lag when transitioning from watchface to activity or widgets?

I've built myself a watch face. It works great, but when switching off the watch face to a widget, or pressing the Start button to start an activity, there's a 1-2 second lag that doesn't seem to be present with other Connect IQ watch faces I've used.

Are there common performance pitfalls that cause this? Is it dependent on the amount of memory the watch face uses? Is it simply unavoidable?

The source code is here if anyone is willing to take the time to look at it: https://github.com/jonathanburchmore/HiVisDigital

Thanks in advance.