Not sure what you mean by statics in methods.
You can slap a
static bool myVar = false inside of a function/method in C++. The initialization will only occur the first time the function is called. It's useful for all of those state variables that are mostly throw-aways but needed. As long as it's a big "I do this window" function they're harmless.
All of the IMGUI code I've written in C# has ended up with a big block of bools and ints just for storing state that is nothing but mandatory garbage.
Could just be me though.
I really like to use ImGui for in-game tools. It's easy to use and very quick to get some stuff on screen. For game UI I usually write my own stuff, but I've never done anything UI heavy.
I love it for tools and anything with heavy databinding or threading issues. It's usually a pain to keep a UI in sync when there's threading or multiple occurences of the same field (properties view + data-grid view + name-in-scene-tree, etc) In an IMGUI it mostly just works since it's rebuilt constantly or frequently enough. Which is a welcome reprieve from QT and MFC's usual woes.