Q:

Should I use weak self in variable? 

I have case where my property getter is referencing to the self and in the way I have suspicion that it will hold self and will never release it. Could you please explain if I am not making mistake in this case? 
 private var storyboard: UIStoryboard {
    get {
      return UIStoryboard(name: "Login", bundle: Bundle(for: type(of:self)))
    }
 }

A:

You're not making a mistake – a computed property is no more than  a glorified method / pair of methods.  On its own, there are no retain cycle concerns. 
self is simply an implicit parameter passed upon calling the getter or setter of the computed property, and will be the instance that the property is being accessed on – it's not stored or captured by the property itself.