- you can create deadlocks - spawn goroutines while not making sure they have proper exit criteria - use slices of large objects in memory and pass them around (e.g. read files in a loop and pass only slice from whole buffer) - and so on